我有以下字符串:“我有 22 根香蕉、121 根铅笔和 p32 苹果”。
如何编写代码以返回字符串中出现的数字?
(在这种情况下应该输出 3 因为有 3 个数字)
注意:数字被定义为连续的数字序列,中间没有任何中断。
public int countNums() { ...实现}
您可以使用正则表达式。您可以添加更多可能围绕数字的字符;我只添加了其中的几个\s - space
或, - comma
:
public static int countNumbers(String str) {
final Pattern standaloneNumber = Pattern.compile("(?<=[\\s,])\\d+(?=[\\s,])");
Matcher matcher = standaloneNumber.matcher(str);
int pos = 0;
int count = 0;
while (matcher.find(pos)) {
pos = matcher.end();
count++;
}
return count;
}
countNumbers("我有 22 个香蕉、121 支铅笔和 32 个苹果") - 返回 3
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句