2016-10-27 31 views
0

Powershellで文字列をトリミングしようとしています。 「テストテストテストテストテストテスト/ ABCテストテストテスト」私は、文字列に「/ A」「を見つける」と最終的には「ABCを取得したいPowershellで文字列の部分文字列を検索してトリムする

のは、あなたが次の文字列があるとしましょう"次のスペースを見つけることによって。

Powershellでそのことはできますか?

答えて

3

文字列が$ testStringであるとします。このコードを実行すると機能します。/aで始まる文字を次の空白まで取得します。

$testString = "Test test test test test test /abc test test test" 
$matchString = $testString -match '/a\w*\s' | % {$Matches.Values -replace '/','' -replace'\s',''} 
Write-Host $matchString 

または1行で書き込み出力しません。前の例で出力結果を表示するだけでした。

$testString = "Test test test test test test /abc test test test" -match '/a\w*\s' | % {$Matches.Values -replace '/','' -replace'\s',''} 
+0

それは私が実際に探していますが(バックスラッシュa)は\されていることを何も変更していますか?私はあなたのコードを試したので、それは動作していません。 \/meanと\ sを教えていただけますか?そこにはどこのスペースがありますか? – user6854154

+0

申し訳ありませんが、コードスニペットを修正しました。また、マッチする正規表現の先頭は特殊文字をエスケープすることです。この場合、完全に不要です。 \ sは空白文字なので、空白を入れずにabcを使いたい場合は、それを削除する必要があります。 – jdwal

+0

これはあなたのためにできましたか? – jdwal

0
"Test test test test test test /abc test test test" -split " " | where {$_ -like "/a*"} | select -First 1 
0
$postiitonSlashA="Test test test test test test /abc test test test".IndexOf("/a") 
$result1="Test test test test test test /abc test test test".Substring($postiitonSlashA) 
$postiotnfirstespace=$result1.IndexOf(" ") 
$result1.Substring(0, $postiotnfirstespace) 
関連する問題