Vérifier si la chaîne est un caractère de ponctuation
Disons que j'ai un tableau de chaînes contenant des lettres et des signes de ponctuation
String letter[] = {"a","b","c",".","a"};
Dans la lettre[3] nous avons "."
Comment puis-je vérifier si une chaîne est un caractère de ponctuation?
Nous savons qu'il ya beaucoup de possible les caractères de ponctuation (,.?! etc.)
Mes progrès à ce jour:
for (int a = 0; a < letter.length; a++) {
if (letter[a].equals(".")) { //===>> i'm confused in this line
System.out.println ("it's punctuation");
} else {
System.out.println ("just letter");
}
}
Vous pouvez utiliser des regex pour ce but. Il vient vraiment à portée de main.
pouvez-vous me donner un indice?
Cela vous donnera une idée: la Ponctuation Regex en Java
Désolé pour la réponse tardive. Bien que j'ai ajouté réponse si vous souhaitez en faire usage.
pouvez-vous me donner un indice?
Cela vous donnera une idée: la Ponctuation Regex en Java
Désolé pour la réponse tardive. Bien que j'ai ajouté réponse si vous souhaitez en faire usage.
OriginalL'auteur sephtian | 2012-12-18
Vous devez vous connecter pour publier un commentaire.
Voulez-vous de vérifier plus de signes de ponctuation autres que les
.
?Si oui, vous pouvez le faire.
Ce n'est pas suffisant. Il y a beaucoup de langues qui possèdent des différents signes de ponctuation. Ces couvre même pas l'Alphabet Latin. Utiliser \p{P} ou \p{Ponctuation} au lieu
OriginalL'auteur Karthik T
Ici est une façon de le faire avec des expressions régulières:
La
\p{Punct}
expression régulière est une POSIX motif représentant un seul caractère de ponctuation.OriginalL'auteur dasblinkenlight
En fonction de vos besoins, vous pouvez utiliser soit
ou
Le premier modèle correspond à la suite de 32 caractères:
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
Le second modèle correspond à une énorme quantité de 632 caractères unicode, y compris, par exemple:
«
,»
,¿
,¡
,§
,¶
,‘
,’
,“
,”
, et‽
.Il est intéressant de noter, pas tous les 32 caractères compensée par le premier modèle correspond le deuxième. Le deuxième modèle ne pas match en 9 caractères:
$
,+
,<
,=
,>
,^
,`
,|
, et~
(dont le premier modèle ne match).Si vous souhaitez faire correspondre à chaque caractère de soit jeu de caractères, vous pouvez faire:
OriginalL'auteur Hans Brende
Essayez cette méthode: le Caractère.isLetter(). Elle renvoie true si le caractère est une lettre (a-z, en majuscules ou en minuscules), renvoie false si le caractère est un chiffre ou un symbole.
par exemple, boolean répondre à Caractère=.isLetter('!');
réponse sera égale à false.
OriginalL'auteur Jj Tuibeo
importation Chaîne
...
si(chaîne de caractères.la ponctuation.contient du(de la lettre[a]))
OriginalL'auteur user3258797