البحث عن سلاسل فرعية في سلسلة باستخدام مصفوفات جافا سكريبت
لتحديد ما إذا كانت السلسلة تحتوي على أي من السلاسل الفرعية من مصفوفة، توفر جافا سكريبت أساليب مرنة .
Array Some Method
تتكرر طريقة some عبر مصفوفة، مما يوفر وظيفة رد اتصال لاختبار كل عنصر. للتحقق من السلاسل الفرعية، استخدم طريقة IndexOf() للبحث عن كل عنصر مصفوفة داخل السلسلة:if (substrings.some(function(v) { return str.indexOf(v) >= 0 })) { // هناك سلسلة فرعية واحدة على الأقل متطابقةif (substrings.some(function(v) { return str.indexOf(v) >= 0; })) {
// There's at least one substring match
}
التعبير العادي توفر التعبيرات العادية طريقة قوية لمطابقة أنماط النص. للبحث عن أي سلسلة فرعية في المصفوفة داخل السلسلة، قم بإنشاء regex مع جميع السلاسل الفرعية كخيارات بديلة واستخدم طريقة test():
const regex = new RegExp(substrings.join("| ")); إذا (regex.test(str)) { // تطابق سلسلة فرعية واحدة على الأقل
const regex = new RegExp(substrings.join("|"));
if (regex.test(str)) {
// At least one substring matches
}
لنفكر في مجموعة من السلاسل الفرعية:
const substrings = ["one"، "two"، "three" "];
const substrings = ["one", "two", "three"];
]const str = "تتضمن هذه السلسلة \"واحد\"."; // استخدام المصفوفة بطريقة ما const someMethodMatch = substrings.some(v => str.includes(v)); // استخدام التعبير العادي const regexMatch = str.match(new RegExp(substrings.join("|")));
const str = "This string includes \"one\".";
// Using array some method
const someMethodMatch = substrings.some(v => str.includes(v));
// Using regular expression
const regexMatch = str.match(new RegExp(substrings.join("|")));
const str = " لا تحتوي هذه السلسلة على أي سلاسل فرعية."; // استخدام المصفوفة بطريقة ما const someMethodNoMatch = substrings.some(v => str.includes(v)); // استخدام التعبير العادي const regexNoMatch = str.match(new RegExp(substrings.join("|")));
const str = "This string doesn't have any substrings.";
// Using array some method
const someMethodNoMatch = substrings.some(v => str.includes(v));
// Using regular expression
const regexNoMatch = str.match(new RegExp(substrings.join("|")));
اختبار الطريقة
سلسلة بدون مطابقة | صفيف بعض | |
---|---|---|
التعبير العادي | regexMatch = true | regexNoMatch = null |
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3