在while循环
创建子字符串我试图创建substrings
从一个字(labelA)到另一个(labelB),反之亦然发生的string
的方法。在while循环
如果字符串The Number2 quick Number1 onyx goblin jumps Number1 over the lazy dwarf Number2
我试图让它们之间的标签,被分配到子变量的字符串。
所以它输出向量将具有在每次运行类似于此值,而循环
temp.addElement("Number2");
temp.add("The");
然后
temp.addElement("Number1");
temp.add("quick ");
然后
temp.addElement("Number1");
temp.add("onyx goblin jumps ");
然后
temp.addElement("Number2");
temp.add("over the lazy dwarf ");
这是我曾尝试
private Vector cutter(String str){
Vector thisPlan - new Vector();
Vector temp = new Vector();
try{
int i =0;
int end = 0;
String labelA = "Number1:";
String labelB = "Number2:";
String Sub = "";
int pos = 0;
while(i<r.length()){
try{
pos = str.indexOf(labelA, pos);
Sub = str.substring(pos,str.length());
pos++;
}catch(Exception e){
pos = str.indexOf)(labelB, pos);
Sub = str.substring(pos,str.length());
pos++;
}
if(!labelA.equals(labelB) || (labelA.equals(labelB) && !StringUtil.scrub(Sub).equals(""))){
temp.addElement(labelA);
temp.add(Sub);
}
if(!labelA.equals(labelB) || (labelA.equals(labelB) && !StringUtil.scrub(Sub).equals(""))){
temp.addElement(labelB);
temp.add(Sub);
}
temp = new Vector();
} catch (Exception e){
}
return thisPlan;
}
}
请帮帮忙,并至少给建议,我怎么能做到这一点。
String.split(String)
会相信这样的伎俩:
"The Number2 quick Number1 onyx goblin jumps Number1 over the lazy dwarf Number2 ")
.split("Number2|Number1")
等于
["The ", " quick ", " onyx goblin jumps ", " over the lazy dwarf ", " "]
它看起来很像我相信你正在寻找。
要还保持分离"Number1"
和"Number2"
划定字符串,您可以使用zero-width positive lookahead and lookbehind expressions作为https://stackoverflow.com/a/19951885/1840078和How to split a string, but also keep the delimiters?使用:
"The Number2 quick Number1 onyx goblin jumps Number1 over the lazy dwarf Number2 "
.split("(?=Number[12])|(?<=Number[12])")
等于
["The ", "Number2", " quick ", "Number1", " onyx goblin jumps ",
"Number1", " over the lazy dwarf ", "Number2", " "]
呀可以请您详细阐述 –
非常感谢有它 –
不客气!我正要在'private Vector cutter(String str)'方法中为'Vector'转换代码添加一些'String []'到我的答案。很高兴你能够自己到达那里。 :) –
什么是你的代码的问题? – APerson
它不工作只是捕捉异常。 –
显示错误日志。 – KeLiuyue