因此,我应该创建一个方法来检查字符串是否包含任何数字。如果匹配,它将返回“是”,否则返回“否”。我想到目前为止,我所做的一切都正确,但是不确定如何使用indexOf()搜索0到9之间的任何数字。请注意,我是javascript的初学者,因此,我希望对初学者友好地回答。 / p>
String go( String a )
{
int x = a.indexOf( ??? );
{
if (x == -1)
{
return "no";
}
else
{
return "yes";
}
}
}
答案 0 :(得分:1)
您可以将字符串s1与此正则表达式匹配,该正则表达式检查字符串中是否存在一个或多个数字。
boolean hasDigit = s1.matches(".*\\d+.*");
答案 1 :(得分:0)
尽管C ++的功能非常适合搜索任何指定的字符,但在Java中,必须检查每个字符。
Java equivalent for C++'s "std::string::find_first_of"
如果您希望改为使用indexOf,请注意,如果不存在char,它将返回-1。您处在正确的轨道上,但需要搜索它们中的每一个。
java:
public boolean hasNum(String s) {
for(char num = '0'; num <= '9'; num=num+1) {
if(s.indexOf(num) != -1) return true;
}
return false; //none of them were found so we got here
}
答案 2 :(得分:0)
df <-structure(list(Year = 1:5, Sales = c(100L, 200L, NA, 300L, NA
), Income = c(30L, 20L, 10L, 50L, -20L)), class = "data.frame",
row.names = c(NA, -5L))