6

1 つの助けが必要で、"\" とその前に来るものを排除する正規表現が必要でした。

Input should be "vmvalidate\administrator" 
and the output should be just "administrator"
4

4 に答える 4

16
$result = $subject -creplace '^[^\\]*\\', ''

文字列の先頭にあるバックスラッシュ以外の文字をすべて削除し、その後にバックスラッシュを追加します。

説明:

^      # Start of string
[^\\]* # Match zero or more non-backslash characters
\\     # Match a backslash

これは、文字列に複数のバックスラッシュがある場合、最初のバックスラッシュ (およびそれに続くテキスト) のみが削除されることを意味します。最後の バックスラッシュまですべてを削除する場合は、次を使用します

$result = $subject -creplace '(?s)^.*\\', ''
于 2013-05-22T14:38:55.447 に答える
11

正規表現を使用する必要はありません。分割方法を試してください。

$string.Split('\')[-1]
于 2013-05-22T14:54:41.323 に答える