web-dev-qa-db-fra.com

Comment vérifier combien de lettres sont dans une chaîne en Java?

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)?

18
tussya

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++;
}

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

42
ssell

Pour répondre facilement à vos questions:

    a) String.length();
    b) String.charAt(/* String index */);
5
Alex Orzechowski

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/

4
ThomasMH

1) Pour répondre à votre question:

  String s="Java";
  System.out.println(s.length()); 
0
Anil Reddy