在Java中,如何删除字符串开头的空格而不是制表符?
一、 必须从字符串中删除\t字符以外的前导空格。 比如说在Java中,如何删除字符串开头的空格而不是制表符?,java,regex,string,spaces,Java,Regex,String,Spaces,一、 必须从字符串中删除\t字符以外的前导空格。 比如说 “\thello” 应该成为 “\thello” 我试过了 stringToTrim = stringToTrim.replaceAll("^\\s+", ""); 但是正则表达式也与制表符匹配,结果是 "hello" 是否可以使用正则表达式删除前导空格而不删除制表符?在Java中,可以使用来限制更通用的模式 使用 这里, ^-匹配字符串的开头 [-字符类的开始 \\s-任何空白模式 &&-交叉点运算符 [^\t]-除制表符外的任何
“\thello”
应该成为
“\thello”
我试过了
stringToTrim = stringToTrim.replaceAll("^\\s+", "");
但是正则表达式也与制表符匹配,结果是
"hello"
是否可以使用正则表达式删除前导空格而不删除制表符?在Java中,可以使用来限制更通用的模式
使用
这里,
-匹配字符串的开头^
-字符类的开始[
-任何空白模式\\s
-交叉点运算符&&
-除制表符外的任何字符[^\t]
-字符类结束]
-匹配一个或多个实例的量词+
注意:因为只有一个替换,所以如果你只对空格感兴趣,那么使用
.replaceFirst
而不是.replaceAll
是有意义的,而不是stringToTrim.replaceFirst(“^*”,“)
将对你有用。你一直从哪里得到解释?@MuratK.:从头部。好的,它总是看起来像是从中粘贴的副本somewhere@MuratK. 当你每天回答10多个问题试图适应5分钟的时间时,你还将学会快速打字并使用一些“模式”:(请尝试以下replaceAll(“^+”,”)代码>
stringToTrim = stringToTrim.replaceFirst("^[\\s&&[^\t]]+", "");