Java tarjoaa useita menetelmiä alimerkkijonojen poistamiseen Stringsistä.
1) Käytä korvausmenetelmää
Tämä menetelmä kuuluu Java-merkkijono-luokkaan ja on ylikuormitettu tarjoamaan kaksi erilaista toteutusta samalle menetelmälle.
Ensimmäisessä lähestymistavassa merkkijonoon lisätään uusi merkki joka korvaamaan kaikki aiemmat merkit.
Tällä tavalla palautetaan uusilla merkeillä varustettu merkkijono, kun kaikki vanhat merkit on päivitetty.
Syntaksi:
string.replace(char oldChar, char newChar)
Proseduuri palauttaa tämän merkkijonon, jos uutta merkkiä ei löydy merkkijonosta.
Esimerkki:
public class RemoveSubString { public static void main(String[] args) { String para = 'JavatPoint is for learning purpose'; String replace = para.replace('e', 'o'); System.out.println(replace); } }
Lähtö:
2) Merkkisekvenssin käyttäminen
Toinen tekniikka korvaa halutun merkkijonon CharSequencelle, joka on vain merkkikokoelma.
Syntaksi:
mikä on objekti java
string.replace(char oldChar, char newChar)
Tämä operaatio ja ensimmäinen eroavat vain siinä, että se korvaa merkkijonon.
viittauksen osoitin
Esimerkki:
public class RemoveSubString { public static void main(String[] arg){ String para = 'John like to learn programming'; String replace = para.replace('learn', 'teach'); System.out.println(replace); } }
Lähtö:
3) Korvaa alimerkkijono tyhjällä merkkijonolla
Java antaa sinun helposti korvata merkkijonosta poistettavan alimerkkijonon tyhjällä merkkijonolla.
Syntaksi:
string.replace(char oldChar, empty char)
Esimerkki:
package org.arpit.java2blog; public class RemoveSubStringFromString { public static void main(String[] arg) { String para = 'John like to learn code'; String replace = para.replace('to learn', ''); System.out.println(replace); } }
Lähtö:
4) Stringin replaceFirst-menetelmän käyttäminen
Tämä menetelmä etsii merkkijonoa, joka vastaa säännöllistä lauseketta, ja jos sellainen löytyy, se korvaa sen annetulla merkkijonolla.
Kulissien takana tämä toiminto poimii tekstin käyttämällä säännöllistä lauseketta käyttämällä koota() ja Ottelut() Pattern-luokan menetelmät.
Syntaksi:
string.replaceFirst(No. of digit, new digit)
Säännöllinen lauseke luodaan poimimaan numero merkkijonosta ja korvaamaan sen toisella numerolla merkkijonona.
Huomautus: Vain merkkijonon kaksi ensimmäistä numeroa muuttuvat tällä numerolla; loput numerot pysyvät ennallaan.
Esimerkki:
package org.arpit.java2blog; public class RemoveSubStringFromString { public static void main(String[] arg) { String para = 'John is 101 years old, and Mary is 20 years old'; String replaceFirst = para.replaceFirst('\d\d\d', '20'); System.out.println(replaceFirst); } }
Lähtö:
5) korvaaFirst()-metodi
The korvaaFirst() -menetelmää voidaan käyttää tyhjän merkkijonon kanssa alimerkkijonon poistamiseen merkkijonosta.
Syntaksi:
string.replace(No. of digit, empty char)
Esimerkki:
package org.arpit.java2blog.entry; public class RemoveSubStringFromString{ public static void main(String[] arg) { String para = ' John is 101 years old, and Mary is 20 years old '; String parafirstreplace = para.replaceFirst('\d\d', ''); System.out.println(parafirstreplace); }}
Lähtö:
dynaaminen taulukko java
6) Käytä korvaa kaikki -menetelmää
The korvaa kaikki menetelmä, toisin kuin vaihdaFirst , käyttää säännöllistä lauseketta korvatakseen jokaisen merkkijonon esiintymän.
Samanlainen kuin vaihdaFirst , tämä menetelmä poimii merkkijonon käyttämällä säännöllistä lauseketta käyttämällä koota() ja Ottelut() menetelmiä. Se tuottaa myös a Pattern SyntaxException jos säännöllinen lauseke on virheellinen.
Syntaksi:
String replaceAll(No. of digit, int new number)
Käytämme säännöllistä lauseketta, joka poistaa kaikki luvut merkkijonosta ja korvaa numerot jokaiselle esiintymälle.
d : Tämä säännöllinen lauseke tunnistaa minkä tahansa numeron välillä 0-9.
Esimerkki:
public class RemoveSubStringFromString { public static void main(String[] arg) { String para = ' John is 10 years old, and Mary is 20 years old '; String parareplace = para.replaceAll('\d\d', '30'); System.out.println(parareplace); }}
Lähtö:
7) korvaaKaikki()-metodi
ReplaceAll()-menetelmällä voit käyttää tyhjää merkkijonoa poistaaksesi alimerkkijonon merkkijonosta.
Syntaksi:
string.replace(No. of digit, empty char)
Esimerkki:
package org.arpit.java2blog; public class RemoveSubStringFromString { public static void main(String[] arg) { String replaceAll = ' John is 10 years old, and Mary is 20 years old '; String replaceAllNumbers = replaceAll.replaceAll('\d\d', ''); System.out.println(replaceAllNumbers); } }
Lähtö:
tulosta tähtikuvio
8) String Builderin delete()-menetelmän käyttäminen
Merkkien lisäämiseksi ja poistamiseksi merkkijonosta StringBuilder sisältää muokattavan merkkijonon.
Merkkijonojen muodostaja, jonka alkukapasiteetti on 16 merkkiä, luodaan tyhjällä StringBuilder toiminto Object() { [natiivikoodi] }, ja jos sisäinen puskuri ylivuodon, suurempi merkkijonojen rakentaja luodaan automaattisesti.
Merkkijonosta poistettavan alimerkkijonon alku ja loppu on määritetty ensimmäiseksi ja toiseksi int-parametriksi. poistaa() toiminto.
Viimeinen indeksi on poissulkeva, koska se vähentää yhden toisesta parametrista, mutta aloitusindeksi on mukaan lukien.
Syntaksi:
public StringBuilder delete(int start,int end)
Kun alku on negatiivinen, suurempi kuin merkkijonon pituus tai suurempi kuin merkkijonon loppu, StringIndexOutOfBoundsException heitetään. Säätöjä ei tehdä, kun alku ja loppu ovat samat.
Esimerkki:
public class main{ public static void main(String[] args){ StringBuilder stringBuilder = new StringBuilder('Java is language or programming language'); StringBuilder builder = stringBuilder.delete(7, 19); System.out.println(builder.toString()); } }
Lähtö:
9) StringBuilder-replace()-menetelmän käyttäminen
Ainoa ero korvata() toiminto ja poistaa() Metodi on kolmas parametri, jota käytetään korvaamaan merkkijonosta poistetut merkit.
maailman parhaita autoja
Jos on suuri merkkijono, joka on vaihdettava, kokoa suurennetaan merkkijonon pituuden mukaan.
Syntaksi:
string.replace(int start, int end, char newChar)
Toiminto toString() { [natiivikoodi] }() -funktiota voidaan käyttää päivitetyn merkkijonon tulostamiseen, kun tämä menetelmä palauttaa a StringBuilder .
Esimerkki:
public class main{ public static void main(String[] args){ StringBuilder stringBuilder = new StringBuilder('Java is Code'); StringBuilder builder = stringBuilder.replace(8, 12, 'Programming language'); System.out.println(builder.toString()); } }
Lähtö:
Johtopäätös
Tässä artikkelissa olet oppinut kuinka korvata ja poistaa merkkejä, joilla voit poistaa alimerkkijonon merkkijonosta. Esitetyt tekniikat sisältävät StringBuilder delete()- ja replace()-menetelmien sekä merkkijonon vaihto(), korvaaFirst() ja replaceAll()-funktioiden käytön.