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, 5719 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
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Windows Server
Kennwort vergessen bei Hyper vserver 2012r (12)

Frage von jensgebken zum Thema Windows Server ...

Linux Desktop
Bildschirmauflösung unter Linux festlegen (12)

Frage von itebob zum Thema Linux Desktop ...

Windows Userverwaltung
gelöst Administrator hat alle Rechte verloren (10)

Frage von mrdead zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Gebäude mit WLAN ausstatten (9)

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