تقسيم سلسلة بفواصل، وتجاهل الفواصل ضمن علامات الاقتباس المزدوجة باستخدام جافا سكريبت
لمواجهة التحدي المتمثل في تقسيم سلسلة بفواصل مع الحفاظ على المزدوج -المقاطع المقتبسة، يمكننا استخدام التعبيرات العادية في JavaScript. وإليك الطريقة:
var str = 'a, b, c, "d, e, f", g, h';
var arr = str.match(/(".*?"|[^",\s] )(?=\s*,|\s*$)/g);
// Handle the case of no matches to prevent errors
arr = arr || [];
// Iterate over the matches and display them
for (var i = 0; i يستخدم هذا التعبير العادي مجموعتين ملتقطتين لمطابقة السلاسل الفرعية محل الاهتمام:
- المجموعة 1: تطابق المقاطع ذات علامات الاقتباس المزدوجة ("d، e، f" ") باستخدام عامل تشغيل جشع (.*؟) لالتقاط كل شيء ضمن علامات اقتباس مزدوجة.
المجموعة 2:- يطابق أي شيء آخر تسلسل الأحرف (على سبيل المثال، "a"، "g") الذي لا يحتوي على علامات اقتباس مزدوجة أو فواصل أو أحرف مسافات بيضاء ([^",\s] ).
تأكيد التطلع (؟ =\s*,|\s*$) يضمن أن المطابقة متبوعة إما بمسافة بيضاء وفاصلة أو نهاية السلسلة. وهذا يضمن أننا نلتقط فقط المقاطع المفصولة بفواصل.
من خلال مطابقة كل من المقاطع المقتبسة وغير المقتبسة، يقوم هذا الحل بتقسيم السلسلة المحددة بدقة إلى مجموعة من ستة عناصر: ["a"، "b"، "c" "، "د، ه، و"، "ز"، "ح"].
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3