Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Einzelnes Zeichen in einem String, an einer bestimmten Stelle tauschen

Frage Entwicklung VB for Applications

Mitglied: captainchaos666

captainchaos666 (Level 1) - Jetzt verbinden

11.02.2007, aktualisiert 17:11 Uhr, 14669 Aufrufe, 6 Kommentare

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
Mitglied: DaSam
11.02.2007 um 15:11 Uhr
Heppa:

01.
sStr = "xxxx-xxxx-xxxx-xxxx-xxxx" 
02.
wscript.echo ReplChar(sStr, "*", 13) 
03.
 
04.
 
05.
function ReplChar (sStr, newChar, nPos) 
06.
ReplChar = left(sStr, nPos-1) & newChar & right(sStr, len(sStr)-nPos) 
07.
end function 
08.
 
Code ist allerdings ohne irendwelche Überprüfungen, ob die Position z.B. auch innerhalb der Zeichenkette liegt ...

cu,
Alex
Bitte warten ..
Mitglied: captainchaos666
11.02.2007 um 15:30 Uhr
Hallo Alex,
Dank Dir
Bitte warten ..
Mitglied: bastla
11.02.2007 um 16:47 Uhr
Hallo captainchaos666!

Als Nachtrag: Sofern Du nicht VBScript (sondern etwa VBA) verwendest, gäbe es genau für diesen Zweck die Funktion / Anweisung "Mid()":
01.
Mid(strA, 13, 1) = Mid(strB, 13, 1)
Grüße
bastla
Bitte warten ..
Mitglied: Biber
11.02.2007 um 16:58 Uhr
@bastla
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
Bitte warten ..
Mitglied: DaSam
11.02.2007 um 17:08 Uhr
@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
Bitte warten ..
Mitglied: bastla
11.02.2007 um 17:11 Uhr
@Biber

> Mid(strA, 13, 1) = Mid(strB, 13, 1)
Sicher? Ich meine den linken Teil...
Mit der Einschränkung auf "Nicht VBScript": ja

> 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) ...

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 ...

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Microsoft Office

MS Office Excel - Formel wird angezeigt, aber nicht berechneter Wert!

Tipp von holli.zimmi zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (21)

Frage von Winuser zum Thema Hyper-V ...

Exchange Server
Bestehende eMails autoamatisch weiterleiten (18)

Frage von metal-shot zum Thema Exchange Server ...

SAN, NAS, DAS
gelöst Synology Version 6.1 Probleme (18)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (15)

Frage von ProfessorZ zum Thema Router & Routing ...