按两个条件拆分字符串

时间:2014-07-10 09:09:26

标签: java string scala split

我必须从

拆分此字符串
val str="s: saturday, sunday, solar, selfie"

进入数组

s,saturday,sunday,solar,selfie

在scala 2.10中

3 个答案:

答案 0 :(得分:5)

用Java编写

String text = "s: saturday, sunday, solar, selfie";
String[] words = text.split("[:,] ");

这将按:,后跟空格分开。如果空格是可选的,您可以使用"[:,] ?"

答案 1 :(得分:3)

从要拆分的字符串的角度来看:

val text = "s: saturday, sunday, solar, selfie"
val words = text.split("[:,] ")

Scala使用与java.lang.String中相同的方法。


作为替代方案,从正则表达式的角度来看:

val str = "s: saturday, sunday, solar, selfie"
val regex = "[:,] ".r
val words = regex.split(str)

如果正则表达式很复杂,并且您希望多次重复使用它,那么可能很有趣。 .rStringLike中的一种方法,它返回Regex

答案 2 :(得分:1)

str=str.replaceAll("[^a-zA-Z0-9]",""); String[] array=str.split("\\s"); //用这个先把所有的特殊字符去掉,然后拆分成字符串数组