我有这样一个字符串:
Mr Moh Jo\n
Address\n
33333 City\n\n
Aland Islands
我想删除每行开头的空格并用以下代码结束每行的结尾,但它不起作用
public static String trimWhiteSpaceFromTheBeginingAndEndOFTheLine(
String string) {
Pattern trimmer = Pattern.compile("^\\s+|\\s+$");
Matcher m = trimmer.matcher(string);
StringBuffer out = new StringBuffer();
while (m.find())
m.appendReplacement(out, "");
m.appendTail(out);
return out.toString();
}
预期结果:
Mr Moh Jo\n
Address\n
33333 City\n\n
Aland Islands
最佳答案
只需在正则表达式中启用多行标志。
Pattern.compile("(?m)^[\\s&&[^\\n]]+|[\\s+&&[^\\n]]+$");
砰。完成。
您还可以使用 replaceAll
调用替换所有匹配器代码:
public static String trimWhiteSpaceFromTheBeginingAndEndOFTheLine(
String string) {
return string.replaceAll("(?m)^[\\s&&[^\\n]]+|[\\s+&&[^\\n]]+$", "");
}
关于java - 删除每行开头的空格并结束每行的结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19269043/