Java 分裂字符串法

Java 分裂字符串法,java,regex,string,split,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.printl

我已经用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]);  
    }  
}   
我应该怎么做才能拆分=(或);在两个独立的元素中,而不是在单个元素中。在这个数组中。i、 e.我的输出可能看起来像

a
=
(
b
+
c
)
;
string

st
=
'
hello

adeel
'
;

可能吗?

这与每个查找匹配,要么是单词
\\w+
(小w),要么是非单词字符
\\w
(大写w)

对于@RohitJain的上述评论,这是一个无法接受的答案

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()]);
}
public String[]getParts(字符串s){
列表部件=新的ArrayList();
Pattern=Pattern.compile(“\\w+\\w)”;
匹配器m=模式匹配器;
while(m.find()){
部分。添加(m.组());
}
返回parts.toArray(新字符串[parts.size()]);
}

这与每个查找匹配,无论是单词
\\w+
(小w)还是非单词字符
\\w
(大写w)

对于@RohitJain的上述评论,这是一个无法接受的答案

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()]);
}
public String[]getParts(字符串s){
列表部件=新的ArrayList();
Pattern=Pattern.compile(“\\w+\\w)”;
匹配器m=模式匹配器;
while(m.find()){
部分。添加(m.组());
}
返回parts.toArray(新字符串[parts.size()]);
}
在那里使用此代码

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());
}
在那里使用此代码

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());
}

是的,这是可能的。看到这个答案:-刚刚注意到这个问题只由你提出。在那个解决方案中你们不明白什么?实际上连续的特殊字符是不分开的。那是why@RohitJain谢谢你的支持。我认为字符串标记器类最适合我的问题。是吗?@adeeliqbal。。您是否尝试过修改我提供的
split
方法以适应您的情况。只需包含该字符类中的所有分隔符。在这种情况下,您有
\\W
。所以,你可以使用它。StringTokenizer可以工作,但不建议使用它。是的,这是可能的。看到这个答案:-刚刚注意到这个问题只由你提出。在那个解决方案中你们不明白什么?实际上连续的特殊字符是不分开的。那是why@RohitJain谢谢你的支持。我认为字符串标记器类最适合我的问题。是吗?@adeeliqbal。。您是否尝试过修改我提供的
split
方法以适应您的情况。只需包含该字符类中的所有分隔符。在这种情况下,您有
\\W
。所以,你可以使用它。StringTokenizer可能有效,但不建议使用它。令我惊讶的是,即使是询问者也是一样的@罗希特贾恩,好吧,今天就够了;S@JoopEggen.. Lol;)晚安:)令我惊讶的是,即使是询问者也是一样的@罗希特贾恩,好吧,今天就够了;S@JoopEggen.. Lol;)晚安:)