Java – eerste teken van een tekenreeks verwijderen

In Java heb ik een string:

Jamaica

Ik wil het eerste teken van de tekenreeks verwijderen en vervolgens amaica

return retourneren

Hoe zou ik dit doen?


Antwoord 1, autoriteit 100%

Gebruik de substring()functie met een argument van 1om de substring van positie 1 (nahet eerste teken) naar het einde van de string te krijgen (als het tweede argument wordt weggelaten, wordt standaard de volledige lengte van de tekenreeks gebruikt).

"Jamaica".substring(1);

Antwoord 2, autoriteit 20%

public String removeFirstChar(String s){
   return s.substring(1);
}

Antwoord 3, autoriteit 15%

Gebruik substring()en geef het aantal tekens op dat u van voren wilt inkorten.

String value = "Jamaica";
value = value.substring(1);

Antwoord: “amaica”


Antwoord 4, autoriteit 13%

In Java, verwijder het voorloopteken alleen als het een bepaald teken is

Gebruik de ternaire Java-operator om snel te controleren of je personage aanwezig is voordat je het verwijdert. Hiermee wordt het hoofdteken alleen verwijderd als het bestaat, als een lege tekenreeks wordt doorgegeven, wordt een lege tekenreeks geretourneerd.

String header = "";
header = header.startsWith("#") ? header.substring(1) : header;
System.out.println(header);
header = "foobar";
header = header.startsWith("#") ? header.substring(1) : header;
System.out.println(header);
header = "#moobar";
header = header.startsWith("#") ? header.substring(1) : header;
System.out.println(header);

Afdrukken:

blankstring
foobar
moobar

JAVA, verwijder alle gevallen van een personage overal in een string:

String a = "Cool";
a = a.replace("o","");
//variable 'a' contains the string "Cl"

JAVA, verwijder de eerste aanleg van een teken overal in een string:

String b = "Cool";
b = b.replaceFirst("o","");
//variable 'b' contains the string "Col"

5, Autoriteit 5%

U kunt de Substring -methode van de StringKlasse die alleen de beginindex aanneemt en retourneert de substring die begint met het teken bij de opgegeven index en zich uitstrekt tot het einde van de tekenreeks.

String str = "Jamaica";
str = str.substring(1);

6, Autoriteit 3%

public String removeFirst(String input)
{
    return input.substring(1);
}

7, Autoriteit 3%

Het sleutel ding om te begrijpen in Java is dat snaren onveranderlijk zijn – je kunt ze niet veranderen. Het is dus geen zin om te spreken over ‘het verwijderen van een personage uit een string’. In plaats daarvan maak je een nieuwe string met alleen de gewenste personages. De andere berichten in deze vraag geven je verschillende manieren om dat te doen, maar het is belangrijk om te begrijpen dat deze de originele string op geen enkele manier veranderen. Alle referenties die u aan de oude string moet, blijven verwijzen naar de oude reeks (tenzij u ze wijzigt om naar een andere reeks te verwijzen) en niet wordt beïnvloed door de nieuw gemaakte reeks.

Dit heeft een aantal implicaties voor de prestaties. Elke keer dat u een touw ‘aanpast, maakt u eigenlijk een nieuwe string met alle overhead-impliciete (geheugentoewijzing en garbage-collectie). Dus als u een reeks wijzigingen aan een tekenreeks wilt maken en alleen wilt zorgen over het eindresultaat (de tussenliggende snaren zullen doden zodra u ze ‘wijzigt), kan het in plaats daarvan logischer zijn om in plaats daarvan een stringbuilder of stringbuffer te gebruiken.


8, Autoriteit 3%

U kunt dit doen:

String str = "Jamaica";
str = str.substring(1, title.length());
return str;

of in het algemeen:

public String removeFirstChar(String str){
   return str.substring(1, title.length());
}

9, Autoriteit 3%

substring ( ) Methode retourneert een nieuwe reeks met een subsequête van tekens die momenteel in deze reeks bevatten.

De Substring Begin bij de opgegeven starten strekt zich uit tot het teken op index end - 1.

het heeft twee vormen. De eerste is

  1. String substring(int FirstIndex)

Hier geeft FIRELINDEX de index aan waarop de substring zal zijn
beginnen. Dit formulier retourneert een kopie van de substring die begint
Firstindex en loopt naar het einde van de aanroepende reeks.

  1. String substring(int FirstIndex, int endIndex)

Hier geeft FIRELINDEX de beginindex aan en ENDIDEX geeft aan
het stoppunt. De geretourneerde string bevat alle personages
van de beginindex, tot, maar niet inclusief, de eindindex.

Voorbeeld

  String str = "Amiyo";
   // prints substring from index 3
   System.out.println("substring is = " + str.substring(3)); // Output 'yo'

10

Ik kwam een ​​situatie tegen waar ik niet alleen het eerste karakter moest verwijderen (als het een #was, maar de eerste set tekens.

String myString = ###Hello WorldKan het startpunt zijn, maar ik zou alleen de Hello Worldwillen behouden. Dit kan worden gedaan als volgt.

while (myString.charAt(0) == '#') { // Remove all the # chars in front of the real string
    myString = myString.substring(1, myString.length());
}

voor het geval van OP, vervang de whilemet ifen het werkt ook.


11

Mijn versie van het verwijderen van leidende tekens, een of meerdere. String strl1 = “01234”, bij het verwijderen van toonaangevende ‘0’, is het resultaat “1234”. Voor een string str2 = “000123” resultaat is weer “123”. En voor het resultaat van String Str3 = “000” is een lege reeks: “”. Dergelijke functionaliteit is vaak handig bij het omzetten van numerieke snaren in cijfers. Het voordeel van deze oplossing vergeleken met regex (vervangmiddel (…)) is dat deze veel sneller is. Dit is belangrijk bij het verwerken van groot aantal snaren.

public static String removeLeadingChar(String str, char ch) {
    int idx = 0;
    while ((idx < str.length()) && (str.charAt(idx) == ch))
        idx++;
    return str.substring(idx);
}

12

U kunt eenvoudig substring()gebruiken.

String myString = "Jamaica"
String myStringWithoutJ = myString.substring(1)

De index in de methode geeft aan van waar we de resultaatreeks krijgen, in dit geval krijgen we het na de eerste positie omdat we niet willen dat “J” in “Jamaica”.


13

## KOTLIN
#Its werken goed.

tv.doOnTextChanged { text: CharSequence?, start, count, after ->
            val length = text.toString().length
            if (length==1 && text!!.startsWith(" ")) {
                tv?.setText("")
            }
        }

Other episodes