如何将以下单词拆分为数组
That's the code
到
array
0 That
1 s
2 the
3 code
我试过这样的事情
String str = "That's the code";
String[] strs = str.split("\\'");
for (String sstr : strs) {
System.out.println(sstr);
}
但输出是
That
s the code
答案 0 :(得分:16)
要专门拆分白色空间和撇号:
public class Split {
public static void main(String[] args) {
String [] tokens = "That's the code".split("[\\s']");
for(String s:tokens){
System.out.println(s);
}
}
}
或拆分任何非单词字符:
public class Split {
public static void main(String[] args) {
String [] tokens = "That's the code".split("[\\W]");
for(String s:tokens){
System.out.println(s);
}
}
}
答案 1 :(得分:4)
您可以根据非字符字符进行拆分:
String str = "That's the code";
String[] splitted = str.split("[\\W]");
对于您的输入,输出将为:
That
s
the
code
答案 2 :(得分:4)
如果您的字符串包含突出显示的字母,我发现最好的解决方法是:
String[] listeMots = phrase.split("\\P{L}+");
例如,如果您的String是
String phrase = "Salut mon homme, comment ça va aujourd'hui? Ce sera Noël puis Pâques bientôt.";
然后,您将获得以下单词(为了清楚起见,用引号和逗号分隔):
"Salut", "mon", "homme", "comment", "ça", "va", "aujourd", "hui", "Ce",
"sera", "Noël", "puis", "Pâques", "bientôt".
希望这有帮助!
答案 3 :(得分:1)
您可以通过正则表达式进行拆分,该正则表达式可以是两个字符之一 - quote或space:
String[] strs = str.split("['\\s]");
答案 4 :(得分:1)
如果要拆分非字母字符
String str = "That's the code";
String[] strs = str.split("\\P{Alpha}+");
for (String sstr : strs) {
System.out.println(sstr);
}
\ P {Alpha}匹配任何非字母字符,这被称为POSIX字符,您可以在this link中阅读更多相关信息。这非常有用。 +表示我们应该拆分任何连续的字符串。
,输出将是
That
s
the
code
答案 5 :(得分:1)
您应首先使用'
将" "
替换为str.replaceAll("'", " ")
(空格),然后使用str.split(" ")
将字符串拆分为空格分隔符。您也可以使用正则表达式拆分“OR空格。
答案 6 :(得分:0)
split
使用正则表达式,而正则表达式'
不是特殊字符,因此您无需使用\
转义它。要表示空格,可以使用\s
(在String中需要将其写为"\\s"
)。另外,要创建一组字符,您可以使用“{”1 {}等“{”}运算符|
,或者只使用字符类a|b|c|d
,这意味着与[abcd]
完全相同。
为简单起见,您可以使用
(a|b|c|d)
或
String[] strs = str.split("'| ");
或
String[] strs = str.split("'|\\s");//to include all whitespaces
答案 7 :(得分:0)
您可以在正则表达式中使用OR
public static void main(String[] args) {
String str = "That's the code";
String[] strs = str.split("'|\\s");
for (String sstr : strs) {
System.out.println(sstr);
}
}
字符串将按单引号(')或空格分割。单引号不需要转义。输出将是
run:
That
s
the
code
BUILD SUCCESSFUL (total time: 0 seconds)