我正在使用xml,但现在不重要,问题是下一个 它会给我一些回报
<xml>blalbalblal asfjñs
fasdf
iduser=dmengelblack; name=angel; lastname=uc;
blablal
iduser=cccarlos; name=carlos; lastname=uc;
我怎么得到(dmengelblack,天使,uc,carlos,uc)
我想保存每一行...
记住它在字符串中的内容我如何得到“dmengelblack”,“angel”,“uc”保存它,变量中的每个人,并将所有这些保存在变量中......例如
string id="dmengelblack";
string name="angel";
string lastname="uc";
all="dmengelblack angel uc"
我需要保存另一行,并且它可以拥有所有行
我知道什么?
答案 0 :(得分:1)
java中的简单方法是将文件作为流读取,遍历并获取
之间的子串iduser = and;
和
name = and;
和
lastname = and;
编辑:使用此代码,您将获得所需的所有文件列表
输出:
[iduser=dmengelblack, iduser=cccarlos]
[name=angel, name=carlos]
[lastname=uc, lastname=uc]
所以现在你通过这些列表进行交互,将每个条目拆分为=,你将在拆分的第二个索引上得到你想要的值。
代码:
String str = "<xml>blalbalblal asfjñs" + "fasdf"
+ "iduser=dmengelblack; name=angel; lastname=uc;"
+ "blablal"
+ "iduser=cccarlos; name=carlos; lastname=uc;";
List<String> iduser = new ArrayList<String>();
List<String> name = new ArrayList<String>();
List<String> lastname = new ArrayList<String>();
int i = 1;
while(str.indexOf("iduser=", i) > 0) {
i=str.indexOf("iduser=",i);
iduser.add(str.substring(i, str.indexOf(";", i)));
name.add(str.substring(str.indexOf("name=", i), str.indexOf(";", str.indexOf("name=", i))));
lastname.add(str.substring(str.indexOf("lastname=", i), str.indexOf(";", str.indexOf("lastname=", i))));
i=str.indexOf("lastname=",i);
}
System.out.println(iduser);
System.out.println(name);
System.out.println(lastname);
希望这会有所帮助。
答案 1 :(得分:0)
我会使用RegEx将键值的模式提取到hast表(字典)中,然后使用知道键映射将其分配给您拥有的变量(使用switch语句或其他东西进行迭代)
答案 2 :(得分:0)
在c#(和其他语言,但它们将有不同的语法)中,您可以将字符串拆分为字符串数组,如下所示:
string myString = "item1;item2;item3";
string[] separateStrings = myString.Split(';');
这将为您提供一个字符串数组:
string[0] = "item1";
string[1] = "item2";
string[2] = "item3";
我还建议你清理标签,只标记你真正关心的内容。