拆分字符串方法

时间:2012-12-26 16:37:06

标签: java regex string split

我在

中给出了java编写的代码
public class sstring  
{  
    public static void main(String[] args)  
    {  
    String s="a=(b+c); string st='hello adeel';";  
    String[] ss=s.split("\\b");  
    for(int i=0;i<ss.length;i++)  
        System.out.println(ss[i]);  
    }  
}   

,此代码的输出为

a
=(
b
+
c
);
string

st
='
hello

adeel
';

我该怎么办才能分裂=(或);两个单独的元素而不是单个元素。在这个数组中。即我的输出可能看起来像

a
=
(
b
+
c
)
;
string

st
=
'
hello

adeel
'
;

有可能吗?

2 个答案:

答案 0 :(得分:2)

匹配每个字词\\w+(小w)或非字符\\W(大写字母W)。

@RohitJain上述评论的can split string method of java return the array with the delimiters as well是一个不可接受的答案。

public String[] getParts(String s) {
    List<String> parts = new ArrayList<String>();
    Pattern pattern = Pattern.compile("(\\w+|\\W)");
    Matcher m = pattern.matcher(s);
    while (m.find()) {
        parts.add(m.group());
    }
    return parts.toArray(new String[parts.size()]);
}

答案 1 :(得分:1)

在那里使用此代码..

Pattern pattern = Pattern.compile("(\\w+|\\W)");
Matcher m = pattern.matcher("a=(b+c); string st='hello adeel';");
while (m.find()) {
System.out.println(m.group());
}