用空格拆分字符串

时间:2012-10-01 08:54:20

标签: java string

String str = "00 01 02";
String[] strings = str.split(" ");

这可以按预期工作。但是如果我想将Tab添加到列表中,它将停止工作,返回整个字符串:

String[] strings = str.split(" \t");

所以,像往常一样,我要求从C#转换为Java ......

5 个答案:

答案 0 :(得分:4)

String[] strings = str.split("\\s+");

答案 1 :(得分:2)

你可以尝试:

str.split("\\s+")

它将在任何空间分开,并将删除所有额外空间。要简单地包含选项卡,请使用:

str.split("[ \\t]")

答案 2 :(得分:0)

String.split()采用正则表达式:

  

围绕给定正则表达式的匹配拆分此字符串。

答案 3 :(得分:0)

String s = "Hello this is Vivek";

String[] sArr = s.split("\\s+");

Voila完成了...... !!!!!

答案 4 :(得分:0)

split方法的第一个参数是正则表达式。这意味着,你必须用最适合你的正则表达式填充它。如果你在这里阅读:http://www.regular-expressions.info/reference.html你会发现有一个最符合你要求的令牌:\ s。它匹配空格,制表符和换行符(我不知道你是否想要覆盖换行符,但你需要的机会很多)。

另一个问题是:字符串应该只用一个空格/制表符分割吗?当你有“00 11 2”时应该怎么办?如果这是您想要的,您需要使用+,这意味着您想要通过一个或多个空格/制表符进行拆分。

因此,我建议的解决方案:

str.split("\\s+")