Powershell仅替换字符串开头的数字

时间:2015-07-09 18:02:46

标签: string powershell replace

我有许多字符串,我将循环并改变各种字符。我需要做的一件事是将字符串开头的数字转换为字符串表示。示例:'10_hello_1''ten_hello_1'。数字后面总会有一个'_'。我尝试了各种各样的事情,例如:$a.replace('\d{2}_','')(只是为了至少删除起始数字),但这不起作用。

我甚至想过进一步打破这个并使用'$ a.startswith()`子句但是不能让powershell问“这是从任意数字开始的”。

我在网上找到了很多关于字符串操作的内容,我完全无法将其分开。谢谢!

2 个答案:

答案 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+_'

这会将所有数字替换为字符串开头的下划线。