webForumDet fria alternativet

Ta bort en del av sträng

7 svar · 607 visningar · startad av tosses

tossesMedlem sedan aug. 2003190 inlägg
#1

Jag behöver leta upp en liten del av en sträng och tabort från strängen.

Ex:

"Kalle var en liten bock"

Ta bort "en" =

"Kalle var liten bock"

Helst om man skulle kunna ersätta också:

Ta bort "en" och ersätt med "jasså du" =

"Kalle var jasså du liten bock"

fast i en variabel ex String kalle;

tossesMedlem sedan aug. 2003190 inlägg
#2

I PHP finns nåt som heter substr()!!

Hjälp!!

sgtpepperMedlem sedan apr. 20007 588 inlägg
#3

Använd metoderna indexOf och substring på Stringobjektet för att göra det du vill, t.ex så här:

String foo = "Kalle var en liten bock";
String find = "liten";
String replace = "stor";

[blue]/* använd indexOf för att få positionen där söksträngen find påträffas i foo, eller -1 om find inte finns i foo */[/blue]
int pos = foo.indexOf(find); 

[blue]/* använd substring för att "klippa ut" söksträngen och ersätta den med vald ersättningssträng */[/blue]
String bar = "";
if (pos != -1) {
  bar = foo.substring(0, pos) + replace + foo.substring(pos+find.length(), foo.length());
}

Resultatet i strängen bar blir: "Kalle var en stor bock".

Denna tråd flyttas till Java-forumet.

andreascarlssonMedlem sedan feb. 2003202 inlägg
#4

Alternativ lösning med mindre kod:

String foo = "Kalle var en liten bock";
String find = "liten";
String replace = "stor";

foo.replaceAll(find, replace);

Det fina med denna metod (replaceAll) är att den hanterar regular expressions, (ifall man behöver använda lite mer avancerade sökningar i strängen)

tossesMedlem sedan aug. 2003190 inlägg
#5

Oj ! Super!!!!!

sgtpepperMedlem sedan apr. 20007 588 inlägg
#6

andreascarlsson skrev:

Alternativ lösning med mindre kod:

String foo = "Kalle var en liten bock";
String find = "liten";
String replace = "stor";

foo.replaceAll(find, replace);

Det fina med denna metod (replaceAll) är att den hanterar regular expressions, (ifall man behöver använda lite mer avancerade sökningar i strängen)

Men glöm inte att String.replaceAll() finns först i SDK version 1.4 och uppåt (har jag för mig). Jag kör mest 1.3, men har man möjlighet att köra 1.4 så är ju de nya regexp-metoderna i String-objektet väldigt trevliga!

tossesMedlem sedan aug. 2003190 inlägg
#7

Fungerar inte !!!!!!!
Varken första eller andra exemplet!!!!

måste jag ha något speciellt include eller nåt för att det ska funka?

HJÄLP!!

ps. Det är i JSP ds.

tossesMedlem sedan aug. 2003190 inlägg
#8

Öööhhh ! nu funkar det!!

Sorry

132 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)