Inleiding
In dit artikel leer je verschillende manieren om een karakter te verwijderen uit een String
-object in Java. Hoewel de klasse String
geen remove()
-methode heeft, kun je varianten van de replace()
-methode en de substring()
-methode gebruiken om karakters uit strings te verwijderen.
Let op: String
-objecten zijn onveranderlijk, wat betekent dat ze niet kunnen worden gewijzigd nadat ze zijn gemaakt. Alle methoden van de klasse String
die in dit artikel worden beschreven, retourneren een nieuw String
-object en veranderen het oorspronkelijke object niet. Het type string dat je gebruikt, hangt af van de vereisten van je programma. Lees meer over andere typen stringklassen en waarom strings onveranderlijk zijn in Java.
De klasse String
heeft de volgende methoden die je kunt gebruiken om karakters te vervangen of te verwijderen:
replace(char oldChar, char newChar)
: Geeft een nieuwString
-object terug dat alle voorkomens vanoldChar
in de opgegeven string vervangt doornewChar
. Je kunt ook dereplace()
-methode gebruiken, in het formaatreplace(CharSequence target, CharSequence replacement)
, om een nieuwString
-object terug te geven dat een subreeks in de opgegeven string vervangt.replaceFirst(String regex, String replacement)
: Geeft een nieuwString
-object terug dat de eerste substring vervangt die overeenkomt met de reguliere expressie in de opgegeven string met de vervanging.replaceAll(String regex, String replacement)
: Geeft een nieuwString
-object terug dat elke substring vervangt die overeenkomt met de reguliere expressie in de opgegeven string met de vervanging.substring(int start, int end)
: Geeft een nieuwString
-object terug dat een subreeks van tekens bevat die momenteel in deze sequentie zijn opgenomen. De subreeks begint bij de opgegeven start en strekt zich uit tot het teken op index eind min 1.
Merk op dat het eerste argument voor de methoden replaceAll()
en replaceFirst()
een reguliere expressie is. U kunt een reguliere expressie gebruiken om een patroon uit een string te verwijderen.
Opmerking: U moet dubbele aanhalingstekens gebruiken om letterlijke tekenreekswaarden aan te geven wanneer u de replace()
-methoden gebruikt. Als u enkele aanhalingstekens gebruikt, gaat de JRE ervan uit dat u een tekenconstante aangeeft en krijgt u een fout bij het compileren van het programma.
Verwijder een teken uit een string in Java
Je kunt alle voorkomens van een karakter uit een string in Java verwijderen door de replace()
methode te gebruiken om het karakter te vervangen door een lege string. Het volgende voorbeeldcode verwijdert alle voorkomens van kleine letters “a” uit de opgegeven string:
String str = "abc ABC 123 abc";
String strNew = str.replace("a", "");
Outputbc ABC 123 bc
Verwijder spaties uit een string in Java
Je kunt spaties uit een string verwijderen in Java door de replace()
methode te gebruiken om de spaties te vervangen door een lege string. De volgende voorbeeldcode verwijdert alle spaties uit de opgegeven string:
String str = "abc ABC 123 abc";
String strNew = str.replace(" ", "");
OutputabcABC123abc
Verwijder een deelstring uit een string in Java
Je kunt alleen de eerste voorkomens van een karakter of deelstring uit een string in Java verwijderen door de replaceFirst()
methode te gebruiken om het karakter of de deelstring te vervangen door een lege string. De volgende voorbeeldcode verwijdert de eerste voorkomens van “ab
” uit de opgegeven string:
String str = "abc ABC 123 abc";
String strNew = str.replaceFirst("ab", "");
Outputc ABC 123 abc
Verwijder alle kleine letters uit een String in Java
U kunt een reguliere expressie gebruiken om tekens die overeenkomen met een bepaald patroon uit een string in Java te verwijderen door de replace.All()
-methode te gebruiken om de tekens te vervangen door een lege string. Het volgende voorbeeldcode verwijdert alle kleine letters uit de gegeven string:
String str = "abc ABC 123 abc";
String strNew = str.replaceAll("([a-z])", "");
OutputABC 123
Verwijder het laatste teken uit een String in Java
Er is geen specifieke methode om het laatste teken uit een string te vervangen of te verwijderen, maar u kunt de String substring()-methode gebruiken om de string af te kappen. De volgende voorbeeldcode verwijdert het laatste teken uit de gegeven string:
String str = "abc ABC 123 abc";
String strNew = str.substring(0, str.length()-1);
Outputabc ABC 123 ab
Probeer het uit
Het volgende voorbeeldbestand definieert een klasse die alle methodenvoorbeelden bevat die in dit artikel worden gegeven, en print de resultaten uit nadat elke methode is aangeroepen op de opgegeven string. U kunt deze voorbeeldcode gebruiken om het zelf uit te proberen op verschillende strings met behulp van verschillende overeenkomende patronen en vervangingswaarden.
Als u Java geïnstalleerd heeft, kunt u een nieuw bestand maken met de naam JavaStringRemove.java
en de volgende code aan het bestand toevoegen:
public class JavaStringRemove {
public static void main(String[] args) {
String str = "abc ABC 123 abc";
// Verwijder een karakter uit een string in Java
System.out.println("String after removing all the 'a's = "+str.replace("a", ""));
// Verwijder spaties uit een string in Java
System.out.println("String after removing all the spaces = "+str.replace(" ", ""));
// Verwijder een substring uit een string in Java
System.out.println("String after removing the first 'ab' substring = "+str.replaceFirst("ab", ""));
// Verwijder alle kleine letters uit een string in Java
System.out.println("String after removing all the lowercase letters = "+str.replaceAll("([a-z])", ""));
// Verwijder het laatste karakter uit een string in Java
System.out.println("String after removing the last character = "+str.substring(0, str.length()-1));
}
}
Compileer en voer het programma uit:
- javac JavaStringRemove.java
- java JavaStringRemove
U krijgt de volgende output:
OutputString after removing all the 'a's = bc ABC 123 bc
String after removing all the spaces = abcABC123abc
String after removing the first 'ab' substring = c ABC 123 abc
String after removing all the lowercase letters = ABC 123
String after removing the last character = abc ABC 123 ab
Elke methode in het voorbeeld van de klasse JavaStringRemove
werkt op de opgegeven string. De output laat zien dat de tekens die in elke methode zijn gespecificeerd, uit de string zijn verwijderd.
Conclusie
In dit artikel heb je verschillende manieren geleerd om karakters uit strings te verwijderen in Java met behulp van methoden uit de String
-klasse, waaronder replace()
, replaceAll()
, replaceFirst()
en substring()
. Ga verder met je leerproces met meer Java tutorials.
Source:
https://www.digitalocean.com/community/tutorials/java-remove-character-string