سؤال

كنت أتساءل عن هذا الشيء المجنون في 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) تقسيم على الدقيق @--@ أو أيا كان.

نصائح أخرى

في هذا السيناريو يستغرق كل منهما @، - كفاصل، وهذا هو السبب في أن هذا الإخراج يتم إنتاجه. للمخرجات الدقيقة، عليك تجربة بعض "فاصل" آخر

للإشارة: http://commons.apache.org/proper/Commons-lang/javadocs/api-2.6/org/apiams/commons/lang/stringutils.html#split٪ 28JAVA.LANG.STRING.STRINGS،٪ 20JAVA.LANG.STRING٪ 29

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top