Powershell 在替换过程中,如何在双引号内转义逗号?

Powershell 在替换过程中,如何在双引号内转义逗号?,powershell,escaping,Powershell,Escaping,我正在使用PowerShell迭代指定的文件列表,使用-replace在每个文件中增加一个版本字符串,并且版本字符串包含逗号。例如: VERSION 6,21,0,0 除了逗号被点所取代外,它大部分都是有效的 VERSION 6,21,0,0 版本6,21,0,0 变成: VERSION 7.1.0.0 版本7.1.0.0 我理解双引号的必要性,因此会对$MAJOR和$MINOR进行评估,但当我这样做时,逗号的处理如上所示。使用反勾号转义逗号对输出没有影响。我做错了什么?无法复制,在正则表达式或

我正在使用PowerShell迭代指定的文件列表,使用
-replace
在每个文件中增加一个版本字符串,并且版本字符串包含逗号。例如:

VERSION 6,21,0,0 除了逗号被点所取代外,它大部分都是有效的

VERSION 6,21,0,0 版本6,21,0,0 变成:

VERSION 7.1.0.0 版本7.1.0.0
我理解双引号的必要性,因此会对
$MAJOR
$MINOR
进行评估,但当我这样做时,逗号的处理如上所示。使用反勾号转义逗号对输出没有影响。我做错了什么?

无法复制
在正则表达式或替换字符串中都不是特殊字符,因此它应该保持不变。不过,您可以尝试用反勾号转义逗号:
版本$MAJOR`、$MINOR`、0`、0”
有趣的谜题。如果你发生了一些文化转换呢?你在德克萨斯州,我认为墨西哥倾向于用逗号而不是点来表示小数点。或者如果您有实际的版本类型呢<代码>$v=新对象版本(7,1);“$v”将在创建中使用逗号,在输出字符串中使用点。或者,如果您正在读取/写入与预期不同的文件,并且这些文件中已经有“7.1.0.0”,而替换文件却什么也不做,该怎么办?或者它们是逗号,但位于终端的最低像素线,您看不到下降线?没有一个适用于您的代码,或者是令人信服的。。。 VERSION 6,21,0,0 VERSION 7.1.0.0