String 如何在powershell中高效地转换一系列字符串?

String 如何在powershell中高效地转换一系列字符串?,string,powershell,map,transform,String,Powershell,Map,Transform,假设有大量字符串的格式如下: <tag>blah blahXXXXXblah blah</tag> blah blahZZZZZblah blah 在powershell命令行上。在转换中,XXXXX的所有实例都被ZZZZ替换,外部标记被剥离。它不是格式良好的XML 我相信,我可以编写一个脚本来评估这一点,但在处理这一特定的软件时,我发现自己执行类似任务的频率比我想象的要高。我感兴趣的是学习如何直接从powershell命令行执行此操作,而无需编写要运行的.ps1脚本

假设有大量字符串的格式如下:

<tag>blah blahXXXXXblah blah</tag>
blah blahZZZZZblah blah
在powershell命令行上。在转换中,XXXXX的所有实例都被ZZZZ替换,外部标记被剥离。它不是格式良好的XML

我相信,我可以编写一个脚本来评估这一点,但在处理这一特定的软件时,我发现自己执行类似任务的频率比我想象的要高。我感兴趣的是学习如何直接从powershell命令行执行此操作,而无需编写要运行的.ps1脚本


这似乎是powershell所擅长的,我只是不知道该怎么做。:)

如果可以编写脚本,只需创建cmdlet即可


我能想到的最简单的方法是(假设您的列表以$foo格式保存):


我在明确询问如何在命令行上执行此操作,而无需编写单独的内容。哎呀……没有看到您也希望删除标记,但情况类似。在这种情况下,用空字符串替换就足以删除标记。我想%{}结构就是我想要的,谢谢!这本质上是$foo结构中的foreach对象吗?是的。它实际上是ForEach对象commandlet的别名,它与原始ForEach循环不完全相同,但足够接近。Get Alias commandlet可以方便地了解人们发布示例命令行时的情况。
$foo | %{$_.Replace("XXXXX", "ZZZZZ")}