确定字符串是否以字母A到I开头

时间:2011-12-16 20:55:19

标签: java letter startswith

我有一个简单的java任务。我需要确定字符串是否以字母A到I开头。我知道我必须使用string.startsWith();但我不想写,if(string.startsWith("a"));一直到我,它似乎有效。我应该使用某种循环吗?

6 个答案:

答案 0 :(得分:27)

您不需要正则表达式。

试试这个,假设你只想要大写:

char c = string.charAt(0);
if (c >= 'A' && c <= 'I') { ... }

如果你确实想要一个正则表达式解决方案,你可以使用它(ideone):

if (string.matches("^[A-I].*$")) { ... }

答案 1 :(得分:3)

if ( string.charAt(0) >= 'A' && string.charAt(0) <= 'I' )
{
}

应该这样做

答案 2 :(得分:2)

为简洁起见,这是怎么回事?

if (0 <= "ABCDEFGHI".indexOf(string.charAt(0))) {
    // string starts with a character between 'A' and 'I' inclusive
}

答案 3 :(得分:1)

尝试

string.charAt(0) >= 'a' && string.charAt(0) <= 'j'

答案 4 :(得分:1)

char c=string.toLowerCase().charAt(0);
if( c >= 'a' && c <= 'i' )
    ...

这使得将其作为方法提取起来很容易:

public static boolean startsBetween(String s, char lowest, char highest) {
    char c=s.charAt(0);
    c=Character.toLowerCase(c);  //thx refp
    return c >= lowest && c <= highest;
}

这是任何内联解决方案的首选。对于win,将其标记为final,因此java会为您编写内容并为您提供比编码内联解决方案更好的性能。

答案 5 :(得分:0)

if(string.toUpperCase()。charAt(0)&gt; ='A'&amp;&amp; string.toUpperCase()。charAt(0)&lt; ='I')

应该是最简单的版本......