【发布时间】:2018-06-23 20:06:09
【问题描述】:
我正在尝试解决一个问题,如果一个字符串在一个字符串中有多个“特殊字符”,我该如何用单个字符替换它。 例如:-
$a = "INC0010347~INC0010348~~INC0010349"
$a = $a.Replace("~~","~")
$a
结果1:-“INC0010347~INC0010348~INC0010349”
在上述情况下,如果字符数为 2,则替换功能将起作用。但是任何超过 2 的东西都会失败.. 如下所示:
$a = "INC0010347~INC0010348~~~INC0010349"
$a = $a.Replace("~~","~")
$a
结果 2:-“INC0010347~INC0010348~~INC0010349”
我正在编写一个脚本,它可以帮助我动态地执行此操作,而不管特殊字符的数量(在本例中为波浪号(~))结果应该是
结果1:-“INC0010347~INC0010348~INC0010349”
【问题讨论】:
-
将
$a.replace("~~")更改为$a -replace "~+","~"。在这种情况下,您应该始终使用正则表达式。+其实是一个贪婪的量词+?是懒惰的量词
标签: string powershell replace