Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中,如何删除字符串开头的空格而不是制表符?_Java_Regex_String_Spaces - Fatal编程技术网

在Java中,如何删除字符串开头的空格而不是制表符?

在Java中,如何删除字符串开头的空格而不是制表符?,java,regex,string,spaces,Java,Regex,String,Spaces,一、 必须从字符串中删除\t字符以外的前导空格。 比如说 “\thello” 应该成为 “\thello” 我试过了 stringToTrim = stringToTrim.replaceAll("^\\s+", ""); 但是正则表达式也与制表符匹配,结果是 "hello" 是否可以使用正则表达式删除前导空格而不删除制表符?在Java中,可以使用来限制更通用的模式 使用 这里, ^-匹配字符串的开头 [-字符类的开始 \\s-任何空白模式 &&-交叉点运算符 [^\t]-除制表符外的任何

一、 必须从字符串中删除\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]]+", "");