EDIT: Не дубликат, по крайней мере, не такая же проблема, как у парня в связанном вопросе, он вызвал string.replace (...) без сохранения результатов. Я использовал замену вместо replaceALL, которая позволяет использовать регулярные выраженияJava, заменяющий n в String
В настоящее время у меня возникла странная проблема. Я пытаюсь удалить все пробелы из строки. Но почему-то это не работает для меня. Вот скриншот функции, которую он я использую и результаты, которые я получаю от отладчика:
Вот функция, я использую:
public static boolean contentCompare(String s1, String s2) {
String s3 = s1.replace("\\s", "");
s3 = s3.replace("\\\\n", "");
s3 = s3.replace("\\n", "");
return s1.equals(s2);
}
При отладке это я получаю эти значения для s1 и s3:
s1: \n\nWLS-Thread-Pool\nWLS-Thread-Pool\n\nClient\nClient\n\nDBS-Conn-Pool\nDBS-Conn-Pool\n\nDBS-Process-Pool\nDBS-Process-Pool\n\nWLS-CPU\nWLS-CPU\n\nDBS-PQ\nDBS-PQ\n\nDBS-CPU\nDBS-CPU\n\nDBS-I/O\nDBS-I/O\n\n\n\n
s3: \n\nWLS-Thread-Pool\nWLS-Thread-Pool\n\nClient\nClient\n\nDBS-Conn-Pool\nDBS-Conn-Pool\n\nDBS-Process-Pool\nDBS-Process-Pool\n\nWLS-CPU\nWLS-CPU\n\nDBS-PQ\nDBS-PQ\n\nDBS-CPU\nDBS-CPU\n\nDBS-I/O\nDBS-I/O\n\n\n\n
Любые идеи, почему \n
не удаляются?
Вы заметили, что ваш оператор возврата 'возврата s1.equals (s2),' 'игнорирует s3'? – Tom
Ух, мой вопрос не является дубликатом этого, другая проблема с парнями заключалась в том, что он не знал, что замена не меняет сама строка, но возвращает результат. моя проблема была глупа :-P –