在我的字符串中,我想根据两个或多个空格拆分字符串或标记字符串。如何分割字符串,如果它后面跟着两个或更多的空格/空白在Java中?
E.x.
string = "I am Chaitanya Gadam. Split this srting."
我想输出 -
str[0]= "I am"
str[1]= "Chaitanya Gadam."
str[2]= "Split"
str[3]= "this string."
在我的字符串中,我想根据两个或多个空格拆分字符串或标记字符串。如何分割字符串,如果它后面跟着两个或更多的空格/空白在Java中?
E.x.
string = "I am Chaitanya Gadam. Split this srting."
我想输出 -
str[0]= "I am"
str[1]= "Chaitanya Gadam."
str[2]= "Split"
str[3]= "this string."
string.split("\\s\\s+");
(或)
具有两个或多个空格作为定界符string.split("\\s{2,}");
String string = "I am Chaitanya Gadam. Split this srting.";
String[] str = string.split("\\s{2,}");
for(String s: str)
{
System.out.println(s+":"+s.length());
}
System.out.println(Arrays.toString(string.split("\\s\\s+")));
Output:
I am:4
Chaitanya Gadam.:16
Split:5
this srting.:12
[I am, Chaitanya Gadam., Split, this srting.]
拆分字符串。在正则表达式中使用Escape字符增加了可读性,而不是使用空格字符。
使用try:String[] splitted = string.split(" +");
public static void main(String[] args) throws ParseException{
String string = "I am Chaitanya Gadam. Split this srting.";
String[] str = string.split(" +");
System.out.println(Arrays.toString(str));
for(String s : str)//Try printing this way .
System.out.println(s);
}
输出:
[I am, Chaitanya Gadam., Split, this srting.]
你好Achintya,我试过了,但它没有给我想要的输出。 –
@ user2156738它为我工作。 –
http://ideone.com/AkepIk - 工作示例 – Zelldon
这里,这应该工作:
final String src = "I am Chaitanya Gadam. Split this srting.";
final String[] splits = src.split("[ ]{2,}");
Got- [我是,Chaitanya Gadam。,Split,这个srting。]为什么我们要在每个令牌之前获得空间? –
因为您不知道如何打印输出,因此进行downvoting显然是错误的。这是[Ideone](http://ideone.com/FYqvGF)。 – Perception
在for循环中打印数组,您将不会拥有每个令牌的任何空间。不要只是downvote –
使用Stringutils.split()以白色的步伐拆分字符串。例如StringUtils.split("Hello World")
返回“Hello”和“World”;
为了解决上述情况下,我们用拆分法这样
String split[]= StringUtils.split("Hello I'm your String");
,当我们打印分割阵列的输出将是:
Hello
I'm
your
String
唯一的问题是,如果你试图分裂string = "I am Chaitanya Gadam. Split this srting."
它将拆分Chiatanya Gadam。进入
[0]Chiatanya
[1]Gadam.
但您可以稍后再组合!
为什么downvote? –
阳光灿烂,我们可以把它放进去吗,[我是] [] [Chaitanya Gadam。] [] [split] [] [this string。] –