删除反斜杠之前字符串中的所有值



我有这个字符串

出席名单
XXXXXX
US\abraham
EU\sarah
US \gerber

当我尝试使用-replace时,它会替换插入方括号中的所有字符(包括第一行AttendanceList(

$attendance_new = $attendance -replace "[EU\]", "" -replace"[US\], ""
echo $attendance_new

AttandandLit
XXXXXX
abraham
arah
grbr

我希望得到这个样本输出(并可能在所有值之后连接一个字符串"_IN"(

出席列表
XXXXXX
abraham_IN
sarah_IN
gerber_IN

我是regex的新手,仍在努力找出特殊字符的regex代码

您可以使用

$attendance_new = $attendance -replace '(?m)^(?:US|EU)\(.*)', '$1_IN'

请参阅此演示(此处为.NET regex演示(详细信息

  • (?m)-多行选项,使^能够匹配任何行位置的开始
  • ^-线路启动
  • (?:US|EU)-EUUS
  • \-一个字符
  • (.*)-第1组:换行符以外的任何零个或多个字符(注意如果开始得到奇怪的结果,您可能需要用([^rn]*)替换它(

最新更新