PowerShell字符串中字母的第一个索引

时间:2020-01-16 11:34:58

标签: powershell

我有一个字符串,其中将包含未知数量的非字母字符。我想将这些从我的字符串中删除。我希望一切都在第一次出现字母的右边。

例如

'3434 34 ^%43 346&* ^&8645 Stuff'变为'Stuff'

“ 345 $ 65556&5 $&9MoreStuff”变为“ MoreStuff”

'34 * ^ $ 76 $ :: ^ 5 {] [] [65还有EvenStuff 123!但是,它开始与一封信一起成为“甚至更多的东西123!但它始于一封信'

使用PowerShell 5.1

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

您可以使用以下正则表达式删除所有前导非字母字符:

'3434 34^%43 346&*^& 8 645 Stuff' -replace '^[^\p{L}]*'

模式描述:

^          # start of string
[^\p{L}]*  # 0 or more characters that are not letters (\p{L} == unicode category "letters")