没有Pattern和Matcher的数字的字符串提取

时间:2015-10-14 14:29:23

标签: java string

首先,我无法使用模式匹配因为我们使用 Java 1.5 那些类没有实现。我知道我可以通过迭代每个角色来做到这一点,但我认为这是次优的。

要提取的模式是**,这个数字包含两个星号**

Input String = "125, 136, 1**, 154, 200, 201, 250, 2**, 304, 307"

所需的输出:

output1 (String) = "125, 136, 154, 200, 201, 250, 304, 307"
output2 (String[]) = [1**],[2**]

1 个答案:

答案 0 :(得分:2)

一种简单的方法是使用.split()拆分数字,然后检查strings中的**

String[] s = "125, 136, 1**, 154, 200, 201, 250, 2**, 304, 307".split(", ");
ArrayList<String> withAsterik = new ArrayList();
ArrayList<String> withoutAsterik = new ArrayList();

for(String str : s)
{
  if(str.contains("**")){
    System.out.println(str);
    withAsterik.add(str);
  }
  else
     withoutAsterik.add(str);
}