试图从字符串中提取某些数字

时间:2014-07-28 21:03:21

标签: java arrays regex

我有一串看起来像这样的数字

 ["100000100685716-2","603834770-2", "604544970-3"]

有人可以帮助我使用正则表达式来匹配每个长(#34之前的第一个数字; - ")所以我可以将它添加到数组中吗?

4 个答案:

答案 0 :(得分:2)

以下正则表达式应该有效:(\d+)-

答案 1 :(得分:1)

这里不需要正则表达式:

  • 使用int pos = str.indexOf('-')获取短划线的位置
  • 使用str.substring(0, pos)获取字符串的初始部分。

如果输入字符串中的破折号是可选的,则需要添加pos的检查为非负数。

答案 2 :(得分:0)

(?:\"\d+)

这应该完全符合您的要求

答案 3 :(得分:0)

String s = "[\"100000100685716-2\",\"603834770-2\", \"604544970-3\"]";
System.out.println(s.split("-")[0].substring(2));