如何转换这种单一的字符串:"CO2+H2O"
转换一个字符串为许多
成两个不同的字符串:"CO2"
和"H2O"
和交替;建立一个循环,以便每当有一个加号时,它将产生一个单独的字符串: 例如为"C+H2O+Q+Z3P+N2"
到"C"
"H2O"
"Q"
"Z3P"
"N2"
如何转换这种单一的字符串:"CO2+H2O"
转换一个字符串为许多
成两个不同的字符串:"CO2"
和"H2O"
和交替;建立一个循环,以便每当有一个加号时,它将产生一个单独的字符串: 例如为"C+H2O+Q+Z3P+N2"
到"C"
"H2O"
"Q"
"Z3P"
"N2"
使用String.split
String s = "C+H2O+Q+Z3P+N2";
String[] separated = s.split("\\+");
你需要转义'+',也就是's.split(“\\ +”);' –
如果你只是想做一个并把它变成另一个字符串呢? 例如“CO2 + H2O” 分解为:c =“CO2” – Alfred
's.split(...)[0]'取第一个元素。或's.substring(0,s.indexOf('+'))'。 (两者都假定字符串中有一个'+';第一个假设字符串不是全部的'+')。 –
你可以使用的StringTokenizer:
String str = "C+H2O+Q+Z3P+N2";
StringTokenizer tokenizer= new StringTokenizer(str, "+");
List<String> list = new ArrayList<String>();
while (tokenizer.hasMoreTokens()) {
list.add(tokenizer.nextToken());
}
此处了解详情: StringTokenizer example
使用public String[] split(String regex)
你可以将所有的子串放在一个数组中。
String[] many = "CO2+H2O".split("\\+");
一旦这样做,你可以循环在阵列上处理每个单独的串
for(String one : many){
System.out.println(one);
}
没有必要为一个循环。在正则表达式中使用'split'。 –