Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.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中使用正则表达式和trim从字符串中删除不必要的空间_Java_Regex_String - Fatal编程技术网

如何在java中使用正则表达式和trim从字符串中删除不必要的空间

如何在java中使用正则表达式和trim从字符串中删除不必要的空间,java,regex,string,Java,Regex,String,我的要求是使用正则表达式从字符串中删除所有不必要的空格 我有这样一个字符串: "name=john age=26 year=1999"; account.replaceAll("[ \t]+", " "); 我想消除两个消除器之间不必要的空间,期望输出 "name=john age=26 year=1999;" 有一个用于查找空间的正则表达式,现在只需替换它 /\s+/ 您可以使用String#replaceAll和使用reg-ex“[\t]+”将多个空格替换为单个空

我的要求是使用正则表达式从字符串中删除所有不必要的空格

我有这样一个字符串:

"name=john    age=26     year=1999";  
 account.replaceAll("[ \t]+", " ");
我想消除两个消除器之间不必要的空间,期望输出

"name=john age=26 year=1999;"

有一个用于查找空间的正则表达式,现在只需替换它

/\s+/
您可以使用
String#replaceAll
和使用reg-ex
“[\t]+”
将多个空格替换为单个空格,如下所示:

"name=john    age=26     year=1999";  
 account.replaceAll("[ \t]+", " ");
希望这有帮助。

这个怎么样

    String before ="    name=john   age=26     year=1999  ";  
    String  after = before.replaceAll("\t", " ");
    after = after.trim().replaceAll(" +", " ");
    System.out.println(after);

我不认为这是一个好主意,试图实现这一点与定期expressions@deterministicFail为什么不呢?那你能告诉我怎么做吗?但是在regx的帮助下,你能提供一些代码剪贴吗it@user3667783在这些评论下面有一些正确的答案。我很确定这不适合Java正则表达式任务…这将在选项卡和类似空格上“失败”。为什么类(
[]
)?我同意你的看法。但OP只要求多个空格。这就是为什么我只使用了
[]
而不是
\\s
。添加\t:)@Sanjeev
x+
[x]+
相同,即使
x
是一个空格。@Biffen同意更正它。谢谢
“name=john age=26 year=1999”
在开头给了我一个空格。@tailorBird在上面的代码
account=account.replaceAll(“\\s+”,”)之后使用trim()