En Java, j'ai une chaîne:
Jamaica
Je voudrais supprimer le premier caractère de la chaîne puis revenir amaica
Comment pourrais-je faire ça?
Utilisez la substring()
fonction avec un argument de 1
pour obtenir la sous-chaîne de la position 1 ( après le premier caractère) à la fin de la chaîne (en laissant le deuxième argument par défaut sur toute la longueur de la chaîne).
"Jamaica".substring(1);
la source
removeFirst()
.Utilisez
substring()
et indiquez le nombre de caractères que vous souhaitez découper de face.Réponse: "amaica"
la source
En Java, supprimez le caractère de tête uniquement s'il s'agit d'un certain caractère
Utilisez l'opérateur ternaire Java pour vérifier rapidement si votre personnage est là avant de le supprimer. Cela supprime le caractère de tête uniquement s'il existe, s'il a passé une chaîne vide, retourne une chaîne vide.
Tirages:
Java, supprimez toutes les instances d'un caractère n'importe où dans une chaîne:
Java, supprimez la première instance d'un caractère n'importe où dans une chaîne:
la source
header = header.substring(header.startsWith("#") ? 1 : 0);
header = header.replaceFirst("^#","");
Vous pouvez utiliser la méthode de sous - chaîne de la
String
classe qui ne prend que l'index de début et renvoie la sous-chaîne qui commence par le caractère à l'index spécifié et s'étendant jusqu'à la fin de la chaîne.la source
la source
La chose clé à comprendre en Java est que les chaînes sont immuables - vous ne pouvez pas les changer. Donc, cela n'a aucun sens de parler de «supprimer un caractère d'une chaîne». Au lieu de cela, vous créez une nouvelle chaîne avec uniquement les caractères que vous souhaitez. Les autres articles de cette question vous donnent différentes façons de le faire, mais il est important de comprendre que ceux-ci ne changent en rien la chaîne d'origine. Toutes les références que vous avez à l'ancienne chaîne continueront de se référer à l'ancienne chaîne (sauf si vous les modifiez pour faire référence à une autre chaîne) et ne seront pas affectées par la nouvelle chaîne créée.
Cela a un certain nombre d'implications pour les performances. Chaque fois que vous «modifiez» une chaîne, vous créez en fait une nouvelle chaîne avec toutes les charges implicites (allocation de mémoire et ramasse-miettes). Donc, si vous souhaitez apporter une série de modifications à une chaîne et ne vous soucier que du résultat final (les chaînes intermédiaires seront mortes dès que vous les `` modifierez ''), il peut être plus judicieux d'utiliser un StringBuilder ou StringBuffer à la place.
la source
vous pouvez faire comme ça:
ou en général:
la source
La méthode substring () renvoie une nouvelle chaîne qui contient une sous- séquence de caractères actuellement contenus dans cette séquence.
La sous-chaîne commence à la valeur spécifiée
start
et s'étend au caractère àindex end - 1
.Il a deux formes. Le premier est
String substring(int FirstIndex)
String substring(int FirstIndex, int endIndex)
Exemple
la source
Je suis tombé sur une situation où je devais supprimer non seulement le premier caractère (si c'était un
#
, mais le premier jeu de caractères.String myString = ###Hello World
pourrait être le point de départ, mais je voudrais seulement garder leHello World
. cela pourrait être fait comme suit.Pour le boîtier OP, remplacez
while
parif
et cela fonctionne également.la source
Une autre solution, vous pouvez résoudre votre problème en utilisant
replaceAll
des regex^.{1}
( démo regex ) par exemple:la source
Ma version de suppression des caractères principaux, un ou plusieurs. Par exemple, String str1 = "01234", lorsque vous supprimez "0", le résultat sera "1234". Pour une chaîne str2 = "000123", le résultat sera à nouveau "123". Et pour String str3 = "000", le résultat sera une chaîne vide: "". Une telle fonctionnalité est souvent utile lors de la conversion de chaînes numériques en nombres.L'avantage de cette solution par rapport à l'expression régulière (replaceAll (...)) est que celle-ci est beaucoup plus rapide. Ceci est important lors du traitement d'un grand nombre de chaînes.
la source