Hej! trodde jag testat detta, men tydligen hade jag väl skrivit något fel för nu fungera det, tack! Strängar i .Net är Immutable, exakt hur man översätter det vet jag inte, men det betyder i alla fall att de aldrig ändras. När du gör en Replace på en sträng så redigerar du inte den befintlliga strängen utan du skapar en ny sträng som returneras från funktionen Replace. Det är därför du måste göra som Johan beskrev. en annan sak som kan vara bra att ta för vana är att läsa vad det står i intellisense infon.string Replace?
Jag håller på och bråkar lite med Replace. det vill inte riktigt som jag vill.
Jag har testat följande:
string str = "teststräng(teststräng)";
//jag vill ha bort paranteserna ur strängen
str.Replace("(", ""); //Fungerar ej! händer inget (verkar inte fungera alls)
Regex.Replace(str, "(", "");
//Fungerar för allt utom paranteser, får då detta fel: System.ArgumentException: tolkar ( - Inte tillräckligt med ). Parameternamn: (
hur ska man skriva?Sv:string Replace?
Sv:string Replace?
Hade du skrivit :
<code>
str2=str.Replace("(","");
</code>
så hade du haft kvar den ursprungliga strängen i variabeln str och du hade kunnat jobba vidare med den.Sv: string Replace?
står det tex:
string Replace (....)
^
så ser man att metoden returnerar något och man kan vara ganska säker på att den inte påverkar indatat...