输入文字:
inptext = "inp1(A, Var1), inp1(B,Var1)"
预期产出:
optext = "inp1(A, Var1)", "inp1(B,Var1)"
代码:
String [] splitText = inptext.split(", ");
for (String obj:splitText )
{
System.out.println(obj);
}
当前输出:
inp1(A
Var1)
.
.
解释当前输出:
optext = "inp1(A", "Var1)"
请建议我纠正此事。
答案 0 :(得分:2)
您可以使用KFold(shuffle = True)
前瞻来实现这一目标,例如:
Regex
答案 1 :(得分:1)
如果输入“喜欢inp1”中的逗号后面有空格,可以使用:
String inptext = "inp1(A, Var1), inp1(B,Var1)";
String[] tmp = inptext.split("\\), ");
for (String a : tmp) {
if (!a.substring(a.length()-1).equals(")"))
a += ")";
System.out.println(a);
}
答案 2 :(得分:0)
您可以合并String#substring
和String#indexOf
来检索所需的数据。
String inptext = "inp1(A, Var1), inp1(B,Var1)";
String[] tokens = inptext.split("(?<=\\)),\\s");
for(String token : tokens){
System.out.println(token);
}
答案 3 :(得分:0)
您可以使用不在,
之间的()
进行拆分,以便使用此正则表达式,(?![^(]*\))
:
String inptext = "inp1(A, Var1), inp1(B,Var1)";
String spl[] = inptext.split(",(?![^(]*\\))");
<强>输出强>
[inp1(A, Var1), inp1(B,Var1)]