你好,如果我有包含如下行的txt文件:
newmtl material0
Ka 1.000000 1.000000 1.000000
Kd 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Tr 1.000000
它被拆分为:
if(line.startsWith("Ks")){
String[] str=line.split("[ ]+");}
返回
0.000000
0.000000
0.000000
为什么“[] +”意味着用空格分开?找不到引用它的任何内容。
答案 0 :(得分:1)
[ ]
是括号内的空格。添加+
后,表示“1个或更多空格”。这是regular expression (click here to learn more)。
例如,[abc]+
将匹配aaa
,acba
,cbabcbab
或一个或多个字母a
,{{1}的任意组合}和b
。 c
表示“此处的事情之一”,[]
表示“一个或多个”。
更多例子:
+
答案 1 :(得分:0)
答案 2 :(得分:0)
在这种情况下,您的问题表明正则表达式中需要一个空格。但似乎你的意图是捕获one or more spaces
。
虽然您可以为此编写" +"
,但通常也会考虑"\n"
和"\t"
的准确性。因此,您可以使用表达式:
"\s+"
在Java中表示为:
"\\s+"
避免编译错误。