我正在尝试将字符串拆分为不同的组,但我没有完成此任务的经验。 所以我需要一个正则表达式,在Java中将原始字符串分成两组
我的文字样本是:
calcani k a l k a n i
我想要:
第1组:calcani
第2组:k a l k a n i(或者,如果可能的话,kalkani)
有关如何创建此模式的想法吗?
谢谢!
答案 0 :(得分:1)
String x="calcani k a l k a n i";
String []x1=x.split(" ",2);
System.out.println(x1[0]);
System.out.println(x1[1]);
<强>输出强>
calcani
k a l k a n i
如果你想要输出如下
calcani
kalkani
然后使用
String x="calcani k a l k a n i";
String []x1=x.split(" ",2);
System.out.println(x1[0]);
System.out.println(x1[1].toString().replace(" ", ""));
答案 1 :(得分:1)
为何选择正则表达式。只需实现这个逻辑:
第一个空格右边的其余字符串是您的第二个匹配,此时如果您要删除所有可以使用的空格:
String repl = str.replace(" ", "");
答案 2 :(得分:0)
使用second argument in the String.split()
method来控制通过拆分字符串生成的最大子串数:
String[] temp = "calcani k a l k a n i".split(" ", 2);
答案 3 :(得分:0)
您将获得以下字符串:
String[] results = "calcani k a l k a n i".split(" ", 2);
//remove spaces from second group
String secondGroup=result[1];
secondGroup=secondGroup.replaceAll(" ","");
System.out.println("result[0] ->"+result[0]);
System.out.println("result[1] ->"+result[1]);
<强>输出强>
result[0] ->calcani
result[1] ->kalkani
答案 4 :(得分:0)
试试这个,
String[] results = "calcani k a l k a n i".split(" ", 2);
System.out.println(results[0]);
System.out.println(results[1].replace(" ", ""));