有个字符串为 <name>123</name><name>456</name><name>789</name><name>aaa</name><name>bbb</name>请问如何把他们转成字符串数组,
每个字符串分别为<name>123</name>,<name>456</name>,<name>789</name>,<name>aaa</name>,<name>bbb</name>
每个字符串分别为<name>123</name>,<name>456</name>,<name>789</name>,<name>aaa</name>,<name>bbb</name>
直接弄成数据不知道,学习一下
String nameString = "<name>123</name><name>456</name><name>789</name><name>aaa</name><name>bbb</name>";
String[]nameStrings =nameString.split("</name>");
for(int i=0;i<nameStrings.length;i++){
nameStrings[i]=nameStrings[i]+"</name>";
}
for(String name :nameStrings ){
System.out.println(name);
}
也可以用正则表达式啊
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class Test { /**
* @param args
*/
public static void main(String[] args) {
StringBuffer str = new StringBuffer(
"<name>123</name><name>456</name><name>789</name><name>aaa</name><name>bbb</name>");
int j = 0; String substr = ""; for (int i = 0; i < str.length() - 1; i++) {
j = i + 2;
substr = str.substring(i, j);
if ("><".equals(substr)) {
str.replace(i, j, ">,<");
}
}
System.out.println(str); }}
<name>123</name>,<name>456</name>,<name>789</name>,<name>aaa</name>,<name>bbb</name>
String regex = "<name>[^<]*</name>";
Pattern p = Pattern.compile(regex);
Matcher matcher = p.matcher(time);
StringBuilder result = new StringBuilder();
while(matcher.find()){
if(result.length()>0){
result.append(",");
}
result.append(matcher.group());
}
System.out.println(result.toString());
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class sssss { public static void main(String[] args) { ArrayList list = new ArrayList();
String str = "<name>123 </name> <name>456 </name> <name>789 </name> <name>aaa </name> <name>bbb </name>";
Pattern p = Pattern.compile("<name>+[0-9a-zA-Z]+ </name>");
Matcher m = p.matcher(str);
int cnt = 0;
while (m.find())
{
list.add(m.group());
System.out.println(list.get(cnt));
cnt++;
}
}}
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class sssss { public static void main(String[] args) { ArrayList list = new ArrayList();
String str = "<name>123 </name> <name>456 </name> <name>789 </name> <name>aaa </name> <name>bbb </name>";
Pattern p = Pattern.compile("<name>+[0-9a-zA-Z]+ </name>");
Matcher m = p.matcher(str);
int cnt = 0;
while (m.find())
{
list.add(m.group());
System.out.println(list.get(cnt));
cnt++;
}
}
}运行结果:
<name>123 </name>
<name>456 </name>
<name>789 </name>
<name>aaa </name>
<name>bbb </name>
╔═╤═╤═╤═╤═╗
║ │ │[color=#FF0000]多│,│都║
║ │ │的│都│是║
║ │ │做│有│高║
║ │ │法│这│手║
║ │ │。│么│啊║
╚═╧═╧═╧═╧═╝
[/color]
System.out.println(str1.substring(0,str1.indexOf("</name>")+"</name>".length()));
str1 = str1.substring(str1.indexOf("</name>")+"</name>".length());
}