0
字符串 str = "00 01 02";
String[] 字符串 = str.split(" ");

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

String[] 字符串 = str.split("\t");

所以,像往常一样,我要求从 C# 翻译成 Java ......

4

5 回答 5

4
String[] strings = str.split("\\s+");
于 2012-10-01T08:55:17.347 回答
2

你可以试试:

str.split("\\s+")

它将在任何空间上拆分,并将删除所有额外的空间。要简单地包含选项卡,请使用以下命令:

str.split("[ \\t]")
于 2012-10-01T08:55:31.990 回答
0

String.split()接受一个正则表达式:

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

于 2012-10-01T08:56:20.810 回答
0
String s = "Hello this is Vivek";

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

瞧,它完成了..!!!!!!

于 2012-10-01T09:00:59.777 回答
0

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

另一个问题是:字符串是否应该被一个空格/制表符分割?当你有“00 11 2”时会发生什么?如果这是您想要的,您需要使用 +,这意味着您想用一个或多个空格/制表符分隔。

因此,我为您提出的解决方案:

str.split("\\s+") 
于 2012-10-01T09:15:50.043 回答