2017-12-18 6 views
-2

Ich möchte alle Sonderzeichen und Leerzeichen in einem String durch Bindestriche ersetzen. Unten ist mein Code:Powershell Leerzeichen und Sonderzeichen durch Bindestrich ersetzen

$c = 'This_is my code [email protected]# characters are not $ allowed% remove spaces ^&*(){}[]/_:;,.?/"''' 
$c = $c -replace [regex]::Escape('[email protected]#$%^&*(){}[]/:;,.?/"'),('-') 
Write-Host $c 

Gibt es einen direkten Weg, um alle Sonderzeichen, Leerzeichen und ersetzen mit einem einzelnen Zeichen Bindestrich

+1

definieren spezielle. Welche Charaktere willst du? nur a-z, A-Z, 0-9 und Bindestriche? –

+0

so sollte die Ausgabe so sein - 'This_is-my-code ----- Zeichen-sind-nicht --- erlaubt - remove-spaces -----------_---- ---- ' –

+0

Wo auch immer ein Leerzeichen ist, möchte ich durch Bindestrich ersetzen. Wo auch immer ein Sonderzeichen ist, möchte ich durch Leerzeichen ersetzen. Leerzeichen wird wieder durch Bindestrich ersetzt. – user2598808

Antwort

1

\ W ersetzt alle Nichtwortzeichen. es wird nicht ersetzt a-z, A-Z, 0-9

$c = 'This_is my code [email protected]# characters are not $ allowed% remove spaces ^&*(){}[]/_:;,.?/"''' 
$c -replace '\W','-' 

This_is-my-code-----characters-are-not---allowed--remove-spaces-----------_-------- 
0

-Code

$original = 'This_is my code [email protected]# characters are not $ allowed% remove spaces ^&*(){}[]/_:;,.?/"''' 
$desired = 'This_is-my-code-----characters-are-not---allowed--remove-sp‌​aces-----------_----‌​----' 

$replacements = "[^a-zA-Z_]" # anything that's _not_ a-z or underscore 
$result = $original -replace $replacements, '-' 

Write-Host "Original: $c" 
Write-Host "Desired : $d" 
Write-Host "Result : $r" 

Ergebnisse

Original: This_is my code [email protected]# characters are not $ allowed% remove spaces ^&*(){}[]/_:;,.?/"' 
Desired : This_is-my-code-----characters-are-not---allowed--remove-sp‌​aces-----------_----‌​---- 
Result : This_is-my-code-----characters-are-not---allowed--remove-spaces-----------_-------- 
zu finden
+0

'\ w' ist das gleiche wie' [a-zA-Z_] '... – TheIncorrigible1

Verwandte Themen