"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تقسيم سلسلة بفواصل، وتجاهل الفواصل ضمن علامات الاقتباس المزدوجة باستخدام جافا سكريبت؟

كيفية تقسيم سلسلة بفواصل، وتجاهل الفواصل ضمن علامات الاقتباس المزدوجة باستخدام جافا سكريبت؟

تم النشر بتاريخ 2024-12-26
تصفح:250

How to Split a String by Commas, Ignoring Commas Within Double Quotes Using JavaScript?

تقسيم سلسلة بفواصل، وتجاهل الفواصل ضمن علامات الاقتباس المزدوجة باستخدام جافا سكريبت

لمواجهة التحدي المتمثل في تقسيم سلسلة بفواصل مع الحفاظ على المزدوج -المقاطع المقتبسة، يمكننا استخدام التعبيرات العادية في 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