J'ai la déclaration if suivante:
String newStr4 = strr.split("2012")[0];
if (newStr4.startsWith("Mon")) {
str4.add(newStr4);
}
Je veux qu'il inclue startsWith
Mon
Tues
Weds
Thurs
Friday
etc. Existe-t-il un moyen simple de le faire lors de l'utilisation de chaînes? J'ai essayé ||
mais ça n'a pas marché.
java
string
if-statement
FredBones
la source
la source
"Mon||Tues"
etc.? Ou avez-vous utilisénewStr4.startsWith("Mon")||newStr4.startsWith("Tues") ...
? Dans tous les cas, veuillez définir «cela n'a pas fonctionné».Réponses:
Est-ce que tu veut dire ça:
Ou vous pouvez utiliser une expression régulière:
la source
Outre les solutions déjà présentées, vous pouvez utiliser la bibliothèque Apache Commons Lang:
Mise à jour: l'introduction de varargs à un moment donné rend l'appel plus simple maintenant:
la source
Personne n'a mentionné
Stream
jusqu'à présent, alors le voici:la source
s -> newStr4.startsWith(s)
peut être remplacé parnewStr7::startsWith
pour être plus clairUne solution simple est:
Une solution plus sophistiquée serait:
la source
Bien sûr, sachez que votre programme ne sera utile dans les pays anglophones que si vous détectez les dates de cette façon. Vous voudrez peut-être envisager:
De là, vous pouvez utiliser .startsWith ou .matches ou toute autre méthode que d'autres ont mentionnée ci-dessus. De cette façon, vous obtenez les paramètres régionaux par défaut pour le jvm. Vous pouvez toujours passer la locale (et peut-être par défaut la locale si elle est nulle) ainsi pour être plus robuste.
la source
Vous devez inclure le tout
str.startsWith(otherStr)
pour chaque élément, car||
ne fonctionne qu'avec des expressions booléennes (vrai ou faux).Il existe d'autres options si vous avez beaucoup de choses à vérifier, comme les expressions régulières , mais elles ont tendance à être plus lentes et les expressions régulières plus compliquées sont généralement plus difficiles à lire.
Un exemple d'expression régulière pour détecter les abréviations de nom de jour serait:
la source
Quand vous dites que vous avez essayé d'utiliser OR, comment avez-vous essayé de l'utiliser exactement? Dans votre cas, ce que vous devrez faire serait quelque chose comme ceci:
la source