我有许多字符串,我将循环并改变各种字符。我需要做的一件事是将字符串开头的数字转换为字符串表示。示例:'10_hello_1'
到'ten_hello_1'
。数字后面总会有一个'_'。我尝试了各种各样的事情,例如:$a.replace('\d{2}_','')
(只是为了至少删除起始数字),但这不起作用。
我甚至想过进一步打破这个并使用'$ a.startswith()`子句但是不能让powershell问“这是从任意数字开始的”。
我在网上找到了很多关于字符串操作的内容,我完全无法将其分开。谢谢!
答案 0 :(得分:1)
字符串.Replace方法不使用正则表达式。而是使用-Replace运算符:
$a = '10_hello_1'
$a -replace '^\d+', ''
至于获取数字的单词转换,我不知道任何内置方法。这是一个提出.Net方法的问题,您可以轻松转换为Powershell:
.NET convert number to string representation (1 to one, 2 to two, etc...)
答案 1 :(得分:1)
EBGreen对于您遇到问题的原因完全正确。我想提供一个不易出错的解决方案。
$a -replace '^\d+_'
这会将所有数字替换为字符串开头的下划线。