sse*_*ell 44
一个)
String str = "a string";
int length = str.length( ); // length == 8
Run Code Online (Sandbox Code Playgroud)
http://download.oracle.com/javase/7/docs/api/java/lang/String.html#length%28%29
编辑
如果要计算a中特定类型字符的数量String,那么一个简单的方法是String针对您的测试用例迭代检查每个索引.
int charCount = 0;
char temp;
for( int i = 0; i < str.length( ); i++ )
{
temp = str.charAt( i );
if( temp.TestCase )
charCount++;
}
Run Code Online (Sandbox Code Playgroud)
其中TestCase可以是isLetter( ),isDigit( )等
或者,如果你只是想什么都算,但空格,然后做一次检查在if样temp != ' '
B)
String str = "a string";
char atPos0 = str.charAt( 0 ); // atPos0 == 'a'
Run Code Online (Sandbox Code Playgroud)
http://download.oracle.com/javase/7/docs/api/java/lang/String.html#charAt%28int%29
如果您正在计算字母,则上述解决方案对于某些 unicode 符号将失败。例如,对于这 5 个字符,sample.length() 将返回 6 而不是 5:
\n\nString sample = "\\u760c\\u0444\\u03b3\\u03b5\\ud800\\udf45"; // \xe7\x98\x8c\xd1\x84\xce\xb3\xce\xb5\nRun Code Online (Sandbox Code Playgroud)\n\ncodePointCount 函数是在 Java 1.5 中引入的,据我所知,它可以为字形等提供更好的结果
\n\nsample.codePointCount(0, sample.length()) // returns 5\nRun Code Online (Sandbox Code Playgroud)\n\nhttp://globalizer.wordpress.com/2007/01/16/utf-8-and-string-length-limitations/
\n以简单的方式回答您的问题:
a) String.length();
b) String.charAt(/* String index */);
Run Code Online (Sandbox Code Playgroud)