这是我的代码,用于分割公式以获取术语,例如公式为“CH3O2”。我需要拆分它,所以我得到术语('C',1),术语('H',3),术语('O',2)。稍后这些将存储在ArrayList中。
<head>
答案 0 :(得分:1)
您的陈述/问题并不完全清楚。假设您的输入中没有逗号(如您的示例&#34; CH3O2和#34;),它不会与String.split
分开。以下示例处理您的难题的意图。
public class StackOverflow
{
private static final String testString = "CH3O2";
public static void main(String[] args)
{
List<String> terms = new ArrayList<String>();
for (int i = 0; i < testString.length(); i++)
{
if (Character.isUpperCase(testString.charAt(i)))
{
if (i + 1 < testString.length()
&& Character.isDigit(testString.charAt(i + 1)))
{
terms.add(testString.charAt(i) + "," + testString.charAt(i + 1));
i++;
continue;
}
terms.add(testString.charAt(i) + ",1");
}
}
for (String s : terms)
{
System.out.println(s);
}
}
}