Pour accéder aux caractères individuels d'une chaîne en Java, nous avons String.charAt(2)
. Existe-t-il une fonction intégrée pour supprimer un caractère individuel d'une chaîne en java?
Quelque chose comme ça:
if(String.charAt(1) == String.charAt(2){
//I want to remove the individual character at index 2.
}
couple
desubstring
etindexOf
. Mais cela créera un nouvel objet string.Réponses:
Vous pouvez également utiliser la
StringBuilder
classe qui est mutable.Il a la méthode
deleteCharAt()
, ainsi que de nombreuses autres méthodes de mutation.Supprimez simplement les caractères que vous devez supprimer, puis obtenez le résultat comme suit:
Cela évite la création d'objets chaîne inutiles.
la source
String numbers = "0123456789"; char c = '2'; numbers = numbers.replace(c, Character.MIN_VALUE);
Je veux remplacer le caractère `` (vide)Une possibilité:
Notez que le résultat est une nouvelle chaîne (ainsi que deux objets String intermédiaires), car les chaînes en Java sont immuables.
la source
Vous pouvez utiliser la méthode Java String appelée replace, qui remplacera tous les caractères correspondant au premier paramètre par le deuxième paramètre:
la source
Non, car les chaînes en Java sont immuables. Vous devrez créer une nouvelle chaîne en supprimant le caractère que vous ne voulez pas.
Pour remplacer un seul caractère
c
à la position d'indexidx
dans la chaînestr
, faites quelque chose comme ceci, et rappelez-vous qu'une nouvelle chaîne sera créée:la source
deleteCharAt ()
remplacer()
carboniser[]
la source
Considérez le code suivant:
la source
Vous pouvez également utiliser la (énorme) machine d'expression régulière.
"(?s)" -
dit à regexp de gérer les nouvelles lignes comme des caractères normaux (juste au cas où)."(.{2})" -
groupe 1 $ collectant exactement 2 caractères"." -
tout caractère à l'index 2 (à extraire)."(.*)" -
group $ 2 qui collecte le reste de la chaîne d'entrée."$1$2" -
mettre ensemble le groupe 1 $ et le groupe 2 $.la source
Pour modifier des chaînes, lisez à propos de StringBuilder car il est modifiable à l'exception de String immuable. Différentes opérations peuvent être trouvées ici https://docs.oracle.com/javase/tutorial/java/data/buffers.html . L'extrait de code ci-dessous crée un StringBuilder, puis ajoute le String donné, puis supprime le premier caractère de String, puis le reconvertit de StringBuilder en String.
la source
Utilisez la fonction replaceFirst de la classe String. Il existe tellement de variantes de la fonction de remplacement que vous pouvez utiliser.
la source
Si vous avez besoin d'un contrôle logique sur la suppression de caractères, utilisez ceci
Si vous n'avez pas besoin d'un tel contrôle, vous pouvez utiliser ce qu'Oscar ou Bhesh a mentionné. Ils sont parfaits.
la source
En utilisant la méthode replace, nous pouvons changer un seul caractère de chaîne.
la source
Le moyen le plus simple de supprimer un caractère d'une chaîne
la source
la source
Dans la plupart des cas d'utilisation, l'utilisation de
StringBuilder
ousubstring
est une bonne approche (comme déjà répondu). Cependant, pour le code critique de performances, cela peut être une bonne alternative.la source
* Vous pouvez supprimer la valeur de chaîne en utilisant StringBuilder et deletecharAt.
la source
Oui. Nous avons une fonction intégrée pour supprimer un caractère individuel d'une chaîne en java, c'est-à-dire deleteCharAt
Par exemple,
Production
la source
Si vous souhaitez supprimer char d'une chaîne str à un spécifique int index :
la source
la source
la source
Quand j'ai ce genre de questions, je me demande toujours: "Que feraient les gourous de Java?" :)
Et je répondrais à cela, dans ce cas, en examinant la mise en œuvre de
String.trim()
.Voici une extrapolation de cette implémentation qui permet d'utiliser plus de caractères de coupe.
Cependant, notez que le découpage d'origine supprime en fait tous les caractères qui le sont
<= ' '
, vous devrez donc peut-être le combiner avec l'original pour obtenir le résultat souhaité.la source
la source
Pour supprimer un caractère unique de la chaîne donnée, veuillez trouver ma méthode en espérant qu'elle sera utile. J'ai utilisé str.replaceAll pour supprimer la chaîne, mais il existe de nombreuses façons de supprimer un caractère d'une chaîne donnée, mais je préfère la méthode replaceall.
Code pour supprimer le caractère:
Image de la console:
veuillez trouver l'image ci-jointe de la console,
Merci d'avoir posé la question. :)
la source
Je viens d'implémenter cette classe utilitaire qui supprime un caractère ou un groupe de caractères d'une chaîne . Je pense que c'est rapide car il n'utilise pas Regexp. J'espère que ça aide quelqu'un!
Voici la sortie:
la source
Par exemple, si vous souhaitez calculer le nombre de a dans la chaîne, vous pouvez le faire comme ceci:
la source