是否有一种简单的方法可以用单个制表符替换行开头的所有空格?
我想到使用循环和StringBuffer
:
String s = "some multi line text\n foo bar\n blah";
StringBuffer sb = new StringBuffer(s);
for (int i = 0; i < sb.length(); i++) {
if (sb.charAt(i) == '\n') {
while (sb.charAt(i + 1) == ' ')
sb.delete(i + 1, i + 2);
sb.insert(i + 1, '\t');
}
}
s = sb.toString();
但这似乎太难了。
最佳答案
这应该有效:
str = str.replaceAll("(?m)^\\s+", "\t");
(?m)
标志表示“克拉和美元匹配行的开头和结尾”,因此 ^
将匹配字符串中每一行的开头。
关于java - 如何用制表符替换行开头的所有空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20859008/