我正在尝试计算字符串中实际的整数长度
我一直在使用这种方法来查找所有字符的长度
whitespace = input.length() - input.replaceAll(" ", "").length();
len = input.length()-whitespace;
但问题是当字符串包含大于9的整数
时例如“1 2 3 456”,它应返回4个整数实例。
这段代码的长度为6。
我发现的另一种方式是
int counter = 0;
for (int i = 0, length = input.length(); i < len; i++) {
if (Character.isDigit(input.charAt(i))) {
counter++;
}
}
但这也会计算数字,而不是整数。
如何隔离大于9的整数来计算它们?
答案 0 :(得分:3)
String input = "1 2 3 456";
int len=input.split(" ").length;
这将使len为4。
答案 1 :(得分:1)
你可以这样试试 -
int count = 0;
for(String s : input.split(" ")){
if(isNumeric(s)) count++;
}
// method to check if string is a number
public boolean isNumeric(String s) {
return s.matches("[-+]?\\d*\\.?\\d+");
}
答案 2 :(得分:1)
试试这个
Matcher m = Pattern.compile("\\d+").matcher(s);
int n = 0;
while(m.find()) {
n++;
}
System.out.println(n);
答案 3 :(得分:1)
检查此程序.. `
int count = 0;
for(String string : input.split(" ")){
if(isInteger(string)) count++;
}
boolean isInteger( String string )
{
try
{
Integer.parseInt( string );
return true;
}
catch( Exception )
{
return false;
}
}
`
答案 4 :(得分:0)
按照以下步骤操作
例如
String x="1 2 24";
String x1[]=x.split(" ");
int l1=x1[0].length();
int l2=x1[1].length();
int l3=x1[2].length();
System.out.println(l3+l1+l2);
System.out.println(x1.length());// this will give number of integers in the string
输出 4
3