Benutzer mit den meisten Antworten
Letztes Zeichen ermitteln und ersetzen

Frage
-
Hallo!
Ich habe eine einfache Frage, allerdings gelingt mir es einfach nicht so wie es ist.
Nehmen wir an, ich habe einen String ala: abcdefgh
Ich möchte nun die letzte stelle ermitteln und das H durch etwas bestimmtes ersetzen.
Das ersetzen ist nicht das problem. (Switch:case)
Aber das herausfinden der letzte stelle bereitet mir ein bisschen ein Problem, da der String auch unterschiedlich lang sein kann.Danke im Vorraus!
- Bearbeitet Joe Waynsen Montag, 26. September 2011 09:30
Antworten
-
Hier ein Beispiel:
string test = "123456789"; if (test.Length > 0) { var lastChar = test[test.Length - 1]; }
- Als Antwort markiert Joe Waynsen Montag, 26. September 2011 09:53
Alle Antworten
-
Hier ein Beispiel:
string test = "123456789"; if (test.Length > 0) { var lastChar = test[test.Length - 1]; }
- Als Antwort markiert Joe Waynsen Montag, 26. September 2011 09:53
-
Ach, eine Frage hab ich doch noch fürs Ersetzen:
Ich wollte das so lösen:
String manurl = input1.Replace(input1[input1.Length - 1], "blubb");
Leider geht das nicht aufgrund von folgenden Fehler:
"The best overloaded method match for string.Replace(char, char) has some invalid arguments
Und : cannot convert from string to char. -
Das Problem ist, dass du versuchst einen Char durch einen String zu ersetzen. Dies funktioniert nicht. Entweder Char durch Char oder String durch String ersetzen.
Hier ein Beispiel://Replace char newChar = '0'; var newString = test.Replace(lastChar, newChar);
Dabei solltest du beachten, dass Replace alle Chars in deinem String ersetzt!- Bearbeitet Marco Pangritz Montag, 26. September 2011 10:14
-
Ja, ich weiß, ich rolle das alte Thema wieder auf. Und vielleicht sollte ich ein neuen Thread erstellen, falls das so ist, sagt es mir und ich werde es tun.
Nun zu meinem Problem.
Das "Encoding" funktioniert ja recht gut, es geht im konkreten um eine URL. Ich ersetze das letzte Zeichen durch den Char, und ich möchte dann die manipulierte URL direkt an den Browser schicken.
Ich habs mit "System.Diagnostics.Process.Start(manurl)" probiert, das problem ist das er es scheinbar wieder "dekodiert" und er die normale URL schickt. Das request muss aber wirklich mit der encodierten Url statt finden.
Ich hoffe mal, ihr wisst ungefähr was ich meine, wenn nicht, nachfragen.
Danke schonmal!
Ahja.. der Source, um einen "Überblick" zu bekommen:
string input1 = textBox1.Text; MessageBox.Show(input1); String lastChar = Convert.ToString(input1[input1.Length - 1]); if (lastChar == "e") { String manurl = input1.Substring(0, input1.Length - 1) + "%65"; MessageBox.Show(manurl); System.Diagnostics.Process.Start(manurl); }
-
Joe,
zwei Dinge:
1. bitte öffne für eine neue Frage auch einen neuen Thread so haben andere Forumbenutzer die Chance bei einer Suche auch die dazugehörige Antwort zu finden.
2. zeige dann auch das, was Du in die TextBox eingegeben hast ansonsten ist es schwer nachzuvollziehen
Hannes
If you have got questions about this, just ask.
In a perfect world,
users would never enter data in the wrong form,
files they choose to open would always exist
and code would never have bugs.
C# to VB.NET: http://www.developerfusion.com/tools/convert/csharp-to-vb/