Java将文本拆分为2个数组
我有以下案文:Java将文本拆分为2个数组,java,android,html,arrays,Java,Android,Html,Arrays,我有以下案文: <option value="{0}">hello1</option> <option value="{1}">hello2</option> <option value="{2}">hello3</option> <option value="{3}">hello4</option> <option value="{4}">hell
<option value="{0}">hello1</option>
<option value="{1}">hello2</option>
<option value="{2}">hello3</option>
<option value="{3}">hello4</option>
<option value="{4}">hello5</option>
<option value="{5}">hello6</option>
<option value="{6}">hello7</option>
<option value="{7}">hello8</option>
那么,有没有关于如何将helloX放入nameArray并将所有值放入valueArray的技巧
//Simon您可以使用
start=str.indexof(“>”)找到
的位置代码>
另外,的位置使用正则表达式并填充数组。下面是我编写的一个小测试程序:
public static void main(String [] args) {
Pattern p = Pattern.compile("<option value=\"(.*?)\">(.*?)</option>");
String line = "<option value=\"{1}\">hello0</option>";
Matcher m = p.matcher(line);
while (m.find()) {
String value = m.group(1);
String name = m.group(2);
System.out.println(value);
System.out.println(name);
// Now add to your arrays
}
}
publicstaticvoidmain(字符串[]args){
模式p=Pattern.compile((.*);
字符串line=“hello0”;
匹配器m=p.匹配器(线);
while(m.find()){
字符串值=m.group(1);
字符串名称=m.group(2);
系统输出打印项次(值);
System.out.println(名称);
//现在添加到数组中
}
}
我不会将其用作解析复杂xml文件的标准方法。如果是这种情况,请使用xml解析器。您需要使用XMLPullParser,然后为您的值解析选项开始标记。我发现这种类型的解决方案既笨重又容易出错。如果hello0
,它将很快失败。嗯,m.matches永远都不是真的…你知道吗?好吧,你的代码可以工作,但如果我用string替换line,它将找不到。你能提供你试图解析的实际字符串吗?在这种情况下,使用m.find()而不是m.matches()。如果每行文本可能存在多个匹配项,请多次调用m.find(),直到它返回false
public static void main(String [] args) {
Pattern p = Pattern.compile("<option value=\"(.*?)\">(.*?)</option>");
String line = "<option value=\"{1}\">hello0</option>";
Matcher m = p.matcher(line);
while (m.find()) {
String value = m.group(1);
String name = m.group(2);
System.out.println(value);
System.out.println(name);
// Now add to your arrays
}
}