我在
中给出了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
'
;
有可能吗?
答案 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());
}