我有这行powershell:
$_.Fields[$field.Name].Value.Replace("abc gcb","simple")
当我这个简单的替换它没有发生时,什么也没有发生。如何将带空格的字符串替换为单个单词?
据猜测,您可能希望就地更改字符串。 这不会发生。
Replace()
方法创建一个新的字符串对象,但不会将新对象与旧变量连接起来。所以你可能需要更多类似这样的东西:
$_.Fields[$field.Name].Value = $_.Fields[$field.Name].Value.Replace("abc gcb","simple")
使用额外的变量
$FieldName = $field.Name
您可以将其访问为$_.Fields.$FieldName.Value.Replace("abc gcb","simple")
这个问题中还提到:如何动态访问对象属性?