Einzelnes Zeichen in einem String, an einer bestimmten Stelle tauschen
Hallo VB-Spezialisten,
könnt Ihr mir weiterhelfen, ich habe zwei Strings
StringA = xxxx-xxxx-xxxx-xxxx
StringB = xxxx-xxxx-xxEx-xxxx
ich möchte nun das das "E" in den StringA übernommen wird, wie kann ich eine einzelnes Zeichen aus einem String in einen anderen Kopieren. Der Buchstabe "E" ist nicht fest es können auch andere Zeichen sein. Es soll nur das Zeichen an der 13'ten Stelle von StringB in StringA Kopiert werden. Die anderen Zeichen müssen erhalten bleiben.
so soll's mal aussehen
StringA = xxxx-xxxx-xxEx-xxxx
Dank euch!
Gruß Alex
könnt Ihr mir weiterhelfen, ich habe zwei Strings
StringA = xxxx-xxxx-xxxx-xxxx
StringB = xxxx-xxxx-xxEx-xxxx
ich möchte nun das das "E" in den StringA übernommen wird, wie kann ich eine einzelnes Zeichen aus einem String in einen anderen Kopieren. Der Buchstabe "E" ist nicht fest es können auch andere Zeichen sein. Es soll nur das Zeichen an der 13'ten Stelle von StringB in StringA Kopiert werden. Die anderen Zeichen müssen erhalten bleiben.
so soll's mal aussehen
StringA = xxxx-xxxx-xxEx-xxxx
Dank euch!
Gruß Alex
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 51360
Url: https://administrator.de/forum/einzelnes-zeichen-in-einem-string-an-einer-bestimmten-stelle-tauschen-51360.html
Ausgedruckt am: 04.04.2025 um 12:04 Uhr
6 Kommentare
Neuester Kommentar
Heppa:
Code ist allerdings ohne irendwelche Überprüfungen, ob die Position z.B. auch innerhalb der Zeichenkette liegt ...
cu,
Alex
sStr = "xxxx-xxxx-xxxx-xxxx-xxxx"
wscript.echo ReplChar(sStr, "*", 13)
function ReplChar (sStr, newChar, nPos)
ReplChar = left(sStr, nPos-1) & newChar & right(sStr, len(sStr)-nPos)
end function
Code ist allerdings ohne irendwelche Überprüfungen, ob die Position z.B. auch innerhalb der Zeichenkette liegt ...
cu,
Alex
@bastla
Würde mich wundern, wenn sich mit Left()/Right()/Mid auch PEEKen und POKEn liesse...*gg
Und wenn, geht dann auch ein.... ?

SCNR
Biber
Mid(strA, 13, 1) = Mid(strB, 13, 1)
Sicher? Ich meine den linken Teil...StrA=Mid(strA,1,12) + Mid(StrB,13,1) + Mid(StrA,14)
fände ich einleuchtender.Würde mich wundern, wenn sich mit Left()/Right()/Mid auch PEEKen und POKEn liesse...*gg
Und wenn, geht dann auch ein.... ?
UCase(strA) = LCase(strB)
SCNR
Biber
@Biber:
dachte zuerst auch, dass man eine Zuweisung mittels mid() machen kann - ich habe schwer im Hinterkopf, dass das bei irgendeiner BASIC-Ausprägung mal ging ...
In 'C' wäre es ja ohnehin wesentlich "eleganter"
cu,
Alex
dachte zuerst auch, dass man eine Zuweisung mittels mid() machen kann - ich habe schwer im Hinterkopf, dass das bei irgendeiner BASIC-Ausprägung mal ging ...
In 'C' wäre es ja ohnehin wesentlich "eleganter"
cu,
Alex
@Biber
Was "Mid()" angeht: Auf einen String bezogen ist es das ja eigentlich auch (hinsichtlich Speicher müsste man wohl schon Konstruktionen mit Parameterübergabe "by Ref" oÄ strapazieren ...).

Grüße
bastla
> Mid(strA, 13, 1) = Mid(strB, 13, 1)
Sicher? Ich meine den linken Teil...
Mit der Einschränkung auf "Nicht VBScript": jaSicher? Ich meine den linken Teil...
> StrA=Mid(strA,1,12) + Mid(StrB,13,1) + Mid(StrA,14)
fände ich einleuchtender.
Wir Basler schreiben in solchen Fällen ja eher "&" als "+" (aber mehr aus ästhetischen Gründen - zulässig ist das "+" auch) - ansonsten kann man's so machen, wenn man viel Zeit hat (oder VBS verwenden muss) ...fände ich einleuchtender.
Würde mich wundern, wenn sich mit Left()/Right()/Mid auch PEEKen und POKEn liesse...*gg
"Left()" und "Right()" kann ich von einem diesbezüglichen Verdacht frei sprechen ...Was "Mid()" angeht: Auf einen String bezogen ist es das ja eigentlich auch (hinsichtlich Speicher müsste man wohl schon Konstruktionen mit Parameterübergabe "by Ref" oÄ strapazieren ...).
Und wenn, geht dann auch ein.... ?
> UCase(strA) = LCase(strB)
Geht - allerdings in die Binsen ... > UCase(strA) = LCase(strB)
Grüße
bastla