Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Windows PowerShell - Ein bestimmtes Zeichen in einem Wort in Großschreibung

Frage Entwicklung Batch & Shell

Mitglied: kaeckchen

kaeckchen (Level 1) - Jetzt verbinden

03.07.2013 um 11:50 Uhr, 5592 Aufrufe, 6 Kommentare

Hallo werte Gemeinde,

Mittels "ToUpper()" kann ich zwar ein ganzes Wort oder einen ganzen String groß schreiben. Kann ich aber auch ein- oder mehrere, bestimmte Zeichen groß schreiben, so dass die restlichen Zeichen unberührt bleiben?

Beispiel: "muellerm" soll zu "MuellerM" geändert werden

mfG KR
Mitglied: Snowman25
03.07.2013 um 12:01 Uhr
Hallo kaeckchen,

klar, wenn du den String davor auseinandernimmst und danach wieder zusammensetzt.
Schreib dir doch 2 Funktionen, welche einen String und eine Position entgegennehmen und dann auf die entsprechende Stelle ein toUpper oder toLower macht.

Gruß,
Snowman25
Bitte warten ..
Mitglied: kaeckchen
03.07.2013 um 12:35 Uhr
Danke für die Antwort. Das Vorgehen ist klar. Ich hätte die Frage etwas präzisieren müssen. Ich wollte eigentlich erfragen, ob das Ganze in einem Befehl oder in einer Zeile möglich ist.

mfG KR
Bitte warten ..
Mitglied: Snowman25
03.07.2013, aktualisiert um 13:22 Uhr
Angenommen, du hast muellerm und möchtest daraus MuellerM machen (1. und letzen Buchstaben groß), dann geht das so:
01.
$name = "muellerm" 
02.
$name = $($name.substring(0,1).ToUpper() + $name.substring(1,($name.Length-2)) + $name.substring($name.Length-1).ToUpper())
Gruß,
Snowman25
Bitte warten ..
Mitglied: kaeckchen
03.07.2013 um 13:15 Uhr
Hallo und vielen Dank für die Anregung - das funktioniert genau so, wie ich es mir vorstelle.

mfG KR
Bitte warten ..
Mitglied: colinardo
03.07.2013, aktualisiert um 15:50 Uhr
Hallo kaekchen,
und wenn du das Objekt [System.String] mit einer Funktion erweiterst steht dir die Funktion in Zukunft bei jedem String zur Verfügung. Das ganze machst du so :

Zuerst erstellst du eine Datei namens "StringExtension.ps1xml" im Verzeichnis C:\Windows\System32\WindowsPowerShell\v1.0 mit folgenden Inhalt:
01.
<?xml version="1.0" encoding="utf-8" ?> 
02.
<Types> 
03.
  <Type> 
04.
    <Name>System.String</Name> 
05.
      <Members> 
06.
        <ScriptMethod> 
07.
          <Name>upperFirstandLast</Name> 
08.
          <Script> 
09.
                $($this.substring(0,1).ToUpper() + $this.substring(1,($this.Length-2)) + $this.substring($this.Length-1).ToUpper()) 
10.
          </Script> 
11.
      </ScriptMethod> 
12.
    </Members> 
13.
  </Type> 
14.
  <Type> 
15.
    <Name>System.String</Name> 
16.
      <Members> 
17.
        <ScriptMethod> 
18.
          <Name>toUpperByIndex</Name> 
19.
          <Script> 
20.
		$index = $args[0] 
21.
		$arr = $this.toCharArray() 
22.
		$arr[$index] = $arr[$index].toString().toUpper() 
23.
		[System.String]::Join($strFinal,$arr) 
24.
		$strFinal 
25.
          </Script> 
26.
      </ScriptMethod> 
27.
    </Members> 
28.
  </Type> 
29.
</Types> 
dann öffnest du dein Powershell Profil-Script(meistens unter "C:\Users\[USERNAME]\Documents\WindowsPowerShell\Microsoft.Powershell_profile.ps1")
wenn die Datei noch nicht vorhanden ist, legst du sie an.
Dann fügst folgende Zeile hinzu und speicherst die Datei:
01.
Update-TypeData -PrependPath "$pshome\StringExtension.ps1xml"
Ab jetzt ist in jeder neuen Powershell-Session bei jedem [String]-Objekt die Funktion upperFirstandLast() vorhanden die den ersten und letzten Buchstaben groß macht.
Zusätzlich noch die Funktion toUpperByIndex() mit dem man direkt den Index des Buchstabens angeben kann der groß geschrieben werden soll.

Beispiele:
("muellerm").upperFirstandLast()
= MuellerM
("muellerm").toUpperByIndex(1)
= mUellerm

Grüße Uwe
Bitte warten ..
Mitglied: kaeckchen
03.07.2013 um 16:02 Uhr
Vielen vielen Dank Uwe.....

mfG KR
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst In txt file an bestimmter Position zeichen ersetzen, Ideen ? (7)

Frage von buliwyf zum Thema Batch & Shell ...

Batch & Shell
gelöst PowerShell Befehl desc - Hinzufügen einer Beschreibung aus zwei Worten (3)

Frage von okniloso zum Thema Batch & Shell ...

Datenbanken
gelöst MySQL "order by" erst bestimmtes Wort, dann alphabetisch (9)

Frage von AS-N00 zum Thema Datenbanken ...

Batch & Shell
Windows Powershell - Nutzen? (15)

Frage von DerBaya zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheit

Millionen Euro in den Sand gesetzt?

(3)

Information von transocean zum Thema Sicherheit ...

Sicherheit

How I hacked hundreds of companies through their helpdesk

Information von SeaStorm zum Thema Sicherheit ...

Heiß diskutierte Inhalte
Netzwerke
Mobile Einwahl IPSec VPN von iPhone iPad T-Mobile zur Pfsense (13)

Frage von Spitzbube zum Thema Netzwerke ...

LAN, WAN, Wireless
Eine Netzwerkdose im Wechsel für zwei unterschiedliche Netze (12)

Frage von kartoffelesser zum Thema LAN, WAN, Wireless ...

Voice over IP
SNOM D765 an LancomR883VAW (10)

Frage von MS6800 zum Thema Voice over IP ...

Windows Netzwerk
Ordner-Freigabe außerhalb der Domäne (9)

Frage von Remsboys zum Thema Windows Netzwerk ...