例如:执行后,String 的输出应该和严格一致"hello world yo"
。"hello world yo"
更重要的是,输出应该是String[]
其中:
String[0] == "hello"; String[1] == "world"; String[2] == "yo";
以便其他方法可以处理后面的有效词。
我在想String.split(" ")
,但是单词之间的空格不确定,然后会导致异常..
您可以使用
String.split("\\s+") // one or more whitespace.
不要==
用于字符串comaprision,而是使用String.equals()
编辑评论中的问题
符号是什么?如果有一个或多个 "_" 或 "\n" 怎么办?
如您所见,String#split() API接受正则表达式作为参数。是空格的\s
简写字符类,而+
用于重复前一项或多次。
现在,如果您想拆分 String
_
IE。下划线 -->"this__is_test".split("[_]+");
\n
IE。换行 -->"this__is_test\n new line".split("\\r?\\n");
你可以在"\\s+"
. 拆分一个或多个空格字符。
我认为 split 函数需要正则表达式,但如果它没有,那么下面的工作。
此处的正则表达式可能不正确,但它展示了您正在尝试做的事情的概念。
Pattern p = Pattern.compile("(.*?) *(.*)");
Matcher m = p.matcher(s);
if (m.matches()) {
String name = m.group(1);
String value = m.groupo(2);
}
for (int i = 1; i<=m.groupCount(); i++) {
System.out.println(m.group(i));
}
String.split()
需要一个正则表达式,所以你可以简单地做String.split(" +")
.
您可以使用正则表达式来拆分字符串。
String.split(Regular Expression);
对于多个空格,您可以使用正则表达式:“ \\s+ ”,其中 's' 代表空格。
“==”运算符用来判断左右是否相等。对于String,它们实际上是Object,这意味着它们被视为引用(就像C中的指针一样)。
所以如果你想比较两个字符串的内容,你可以使用字符串的equals(String)方法。例如 str1.equals(str2)