أباتشي StringUtils تقسيم وظيفة لا مجنون
-
21-12-2019 - |
سؤال
كنت أتساءل عن هذا الشيء المجنون في StringUtils.split(string,separator);
أريد أن تفصل سلسلة باستخدام فاصل @@--@@
و قانون بلدي وغني عن مثل هذا.
String[] strings = StringUtils.split("kayf86@--@9@--@5r43987@!@!%%^&^$%@!@!%-@@*&%$*(&^$%@!@!%--@", "@--@");
for (String string : strings) {
System.out.println(string);
}
لقد وجدت إخراج هذا النحو
kayf86
9
5r43987
!
!%%^&^$%
!
!%
*&%$*(&^$%
!
!%
يمكنني استخدام commons-lang-2.6.jar
يمكن بعض للمرء أن يفسر كيف أن هذا الشيء قد يحدث.
المحلول
StringUtils
يستخدم أي من الشخصيات في separatorChars
حجة كفاصل ، وليس بالضرورة كل شيء.على جافادوك أيضا
فاصل لا يتم تضمينها في إرجاع صفيف سلسلة. المجاورة فواصل معاملة واحدة فاصل.
المعلمات
- separatorChars الأحرف المستخدمة كما المحددات, null يقسم على بيضاء
وبدلا من ذلك يمكنك استخدام StringUtils.splitByWholeSeparator(String, String)
تقسيم على الدقيق @--@
أو أيا كان.
نصائح أخرى
في هذا السيناريو يستغرق كل منهما @، - كفاصل، وهذا هو السبب في أن هذا الإخراج يتم إنتاجه. للمخرجات الدقيقة، عليك تجربة بعض "فاصل" آخر
لا تنتمي إلى StackOverflow