繁体   English   中英

用空格分割字符串

[英]Splitting a string by whitespaces

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

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

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

因此,像往常一样,我要求将C#转换为Java ...

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

您可以尝试:

str.split("\\s+")

它将在任何空间上分割,并将删除所有多余的空间。 要简单地包括制表符,请使用以下命令:

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

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

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

String s = "Hello this is Vivek";

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

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

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

另一个问题是:字符串应该被一个空格/制表符完全分开吗? 如果您拥有“ 00 11 2”,该怎么办? 如果这是您想要的内容,则需要使用+,表示您想按一个或多个空格/制表符进行拆分。

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

str.split("\\s+") 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM