#java #string #replace
#java #строка #заменить
Вопрос:
У меня есть список строк в txt
файле
string1,
string2,
string3,
string4,
Я хочу удалить string3
txtData = txtData.replace("string3,", "");
string1,
string2,
string4,
Я не хочу, чтобы там было пустое пространство, поэтому я делаю это
txtData = txtData.replace("n", "");
но это делает это вместо
string1,string2,string4
Мне нужно это
string1,
string2,
string4,
как?
Ответ №1:
Объедините две вещи, которые вы пробовали:
txtData = txtData.replace("string3,n", "");
Если вы также хотите, чтобы это работало, if string3,
находится в конце файла и может сопровождаться или не сопровождаться новой строкой:
txtData = txtData.replaceAll("(?m)string3,$", "");
Это регулярное выражение, которое соответствует ‘end of line’ ( $
означает: ‘конец строки’, если в многострочном режиме. (?m)
включает многострочный режим).
Ответ №2:
Для этой цели можно использовать регулярные выражения:
String str =
"string1,n"
"string2,n"
"string3,n"
"string4,";
// remove literal "string3," and trailing
// whitespace characters after it, if present
String str2 = str.replaceAll("string3,\s*","");
System.out.println(str2);
Вывод:
string1,
string2,
string4,