Comment vérifiez-vous combien de lettres sont dans une chaîne Java?
Comment vérifier quelle lettre se trouve à une certaine position dans la chaîne (c'est-à-dire la deuxième lettre de la chaîne)?
UNE)
String str = "a string";
int length = str.length( ); // length == 8
http://download.Oracle.com/javase/7/docs/api/Java/lang/String.html#length%28%29
modifier
Si vous voulez compter le nombre d'un type spécifique de caractères dans une String
, une méthode simple consiste à parcourir le String
en vérifiant chaque index par rapport à votre scénario de test.
int charCount = 0;
char temp;
for( int i = 0; i < str.length( ); i++ )
{
temp = str.charAt( i );
if( temp.TestCase )
charCount++;
}
où TestCase
peut être isLetter( )
, isDigit( )
, etc.
Ou si vous voulez simplement tout compter sauf les espaces, faites une vérification dans la variable if
comme temp != ' '
B)
String str = "a string";
char atPos0 = str.charAt( 0 ); // atPos0 == 'a'
http://download.Oracle.com/javase/7/docs/api/Java/lang/String.html#charAt%28int%29
Pour répondre facilement à vos questions:
a) String.length();
b) String.charAt(/* String index */);
Si vous comptez des lettres, la solution ci-dessus échouera pour certains symboles Unicode. Par exemple, pour ces 5 caractères, sample.length () renverra 6 au lieu de 5:
String sample = "\u760c\u0444\u03b3\u03b5\ud800\udf45"; // 瘌фγε????
La fonction codePointCount a été introduite dans Java 1.5 et, si je comprends bien, donne de meilleurs résultats pour les glyphes, etc.
sample.codePointCount(0, sample.length()) // returns 5
http://globalizer.wordpress.com/2007/01/16/utf-8-and-string-length-limitations/
1) Pour répondre à votre question:
String s="Java";
System.out.println(s.length());