فهم الفرق بين استبدال () و replaceall () طرق في java.lang.string
تم تصميم سلسلة استبدال () وطرق relaceal () في java.lang.string مصممة لأداء النصوص على السلسلة. ومع ذلك ، هناك تمييز حاسم بين هاتين الطريقتين: replaceall () يستخدم التعبيرات العادية (regex) في حين أن استبدال () لا. يتجلى هذا الاختلاف في سلوكهم ، مما يؤدي إلى حدوث أخطاء خفية إذا تم استخدامها بشكل غير لائق. إنه يحل محل جميع حوادث تسلسل الحرف أو الأحرف المحدد مع الاستبدال المقدم. هذه الطريقة مفيدة للبدائل البسيطة حيث لا يلزم مطابقة regex. هذا يسمح لها بإجراء بدائل أكثر تعقيدًا على أساس الأنماط. إنه يحل محل جميع التحويلات الفرعية التي تتطابق مع regex المحددة مع الاستبدال المقدم. إذا كنت بحاجة فقط إلى استبدال الأحرف الدقيقة أو تسلسل الأحرف دون النظر في الأنماط ، فاستخدم طريقة استبدال (). ومع ذلك ، إذا كنت بحاجة إلى مطابقة أكثر تقدماً على أساس Regex ، فإن طريقة replaceall () هي الخيار الأفضل. نتيجة السلسلة = s.replace ('.' ، '/') ؛ // باستخدام استبدال () لاستبدال الحرف string result2 = s.replaceall ("\\." ، "/") ؛ // باستخدام replaceall () للاستبدال المستند إلى Regex
سيحتوي كلتا النتيجة والنتيجة 2 على نفس السلسلة المعدلة "Hello/World." ومع ذلك ، إذا كنت ترغب في استبدال الحدوث الأول فقط للفترة بقطع شرطة مائلة ، فسوف تستخدم طريقة استبدال () بدلاً من replaceall () ، حيث أن استبدال first () يطابق فقط الحدوث الأول لل regex المحدد. الأخطاء في بدائل النص. إذا كنت بحاجة إلى بدائل بسيطة على مستوى الأحرف ، فاستخدم استبدال (). للحصول على بدائل أكثر تعقيدًا تستند إلى regex ، قم باستخدام replaceall ().
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3