Überprüfen Sie, ob die Zeichenfolge ein Interpunktionszeichen ist

8

Nehmen wir an, ich habe ein String-Array, das einige Buchstaben und Interpunktion enthält

%Vor%

In Brief [3] haben wir "."

Wie kann ich überprüfen, ob eine Zeichenfolge ein Interpunktionszeichen ist? Wir wissen, dass es viele mögliche Interpunktionszeichen gibt (,.?! Etc.)

Mein bisheriger Fortschritt:

%Vor%     
sephtian 18.12.2012, 02:30
quelle

5 Antworten

16

Möchten Sie mehr Interpunktionen als nur . prüfen?

Wenn ja, können Sie das tun.

%Vor%     
Karthik T 18.12.2012, 02:40
quelle
46

Hier ist eine Möglichkeit, dies mit regulären Ausdrücken zu tun:

%Vor%

Der reguläre Ausdruck \p{Punct} ist ein POSIX-Muster, das ein einzelnes Interpunktionszeichen darstellt.

    
dasblinkenlight 18.12.2012 02:41
quelle
1

Versuchen Sie diese Methode: Character.isLetter (). Es gibt true zurück, wenn das Zeichen ein Buchstabe ist (a-z, Groß- oder Kleinbuchstaben), false, wenn das Zeichen numerisch oder ein Symbol ist.

z.B. Boolesche Antwort = Character.isLetter ('!');

Antwort ist gleich falsch.

    
Jj Tuibeo 18.12.2012 02:39
quelle
0

Je nach Ihren Bedürfnissen könnten Sie entweder

verwenden %Vor%

oder

%Vor%

Das erste Muster entspricht den folgenden 32 Zeichen: !"#$%&'()*+,-./:;<=>?@[\]^_'{|}~

Das zweite Muster entspricht 632 Unicode-Zeichen, einschließlich: « , » , ¿ , ¡ , § , , , , , und .

Interessanterweise stimmen nicht alle 32 Zeichen des ersten Musters mit denen des zweiten ab. Das zweite Muster stimmt nicht mit den folgenden 9 Zeichen überein: $ , + , < , = , > , ^ , ' , | , und ~ (was das erste Muster stimmt überein).

Wenn Sie für jedes Zeichen aus entweder Zeichensatz suchen möchten, könnten Sie tun:

%Vor%     
Hans Brende 15.03.2018 00:32
quelle
-3

%Vor%
    
Rob Korobkin 17.06.2015 20:42
quelle