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

كيف يمكنني العثور على جميع حوادث فرعية داخل سلسلة أكبر في C#؟

نشر في 2025-03-23
تصفح:714

How Can I Find All Occurrences of a Substring within a Larger String in C#?

تعالج هذه المقالة التحدي المتمثل في العثور على كل هذه الحالات وتخزين فهارسها في قائمة. ضمن هذه السلسلة ، تحتاج إلى تحديد وتخزين مواقف كل حدوث فرعية محددة. دعنا نفترض أن سلسلة المثال هي "Extract \" (أنا ، الكثير من العلامات. Subctring. if (string.isnullorempty (قيمة)) رمي argumentException جديد ("قد لا تكون السلسلة التي يجب العثور عليها فارغة" ، "القيمة") ؛ قائمة الفهرسة = قائمة جديدة () ؛ لـ (int index = 0 ؛؛ index = value.length) { الفهرس = str.indexof (القيمة ، الفهرس) ؛ إذا (الفهرس == -1) فهارس العودة ؛ الفهرسة. } }

الطريقة 2:

بدلاً من ذلك ، يمكن أيضًا استخدام ايتراتور لإعطاء الفهارس بالتتابع:

if (string.isnullorempty (قيمة)) رمي argumentException جديد ("قد لا تكون السلسلة التي يجب العثور عليها فارغة" ، "القيمة") ؛ لـ (int index = 0 ؛؛ index = value.length) { الفهرس = str.indexof (القيمة ، الفهرس) ؛ إذا (الفهرس == -1) استراحة؛ فهرس العائد ؛ } }

يمكن إضافة هاتين الطريقتين بسهولة إلى أي كائن سلسلة ، مما يجعل من المريح العثور على جميع مواضع التسجيل. على سبيل المثال ، سيجد السطر التالي جميع حوادث "foo" الفرعية داخل السلسلة "foostringfoobar":

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3