使用PowerShell从文本文件中删除[字符

时间:2018-01-11 14:02:27

标签: powershell

如何从文本文件中删除[字符?

我的文本文件包含以下行:

[Adminlogin] 172.16.48.131 Wednesday Jan102018 07:05:36

我想删除[

当我运行时,

$file = "MyFile.txt"
Get-Content $file  | Foreach {$_ -replace "[", ""}  | Set-Content "Myfile-1.txt"

我收到错误

  

正则表达式模式[无效

但是,当我运行此选项以删除]时,

$file = "MyFile.txt"
Get-Content $file  | Foreach {$_ -replace "]", ""}  | Set-Content "Myfile-1.txt"

它运行没有问题。

2 个答案:

答案 0 :(得分:2)

[是一个正则表达式元字符,因此您需要将其转义。

最简单的方法是使用:

{$ -replace "\[", ""}

或者您可以使用[Regex]::Escape($str)方法。有关更详细的示例,请参阅博客文章 PowerShell Tip - Escape Regex MetaCharacters

答案 1 :(得分:0)

使用:

@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Path("upload")
public Response up1(MultipartFormDataInput input) {
        List<InputPart> jsonpart = input.getFormDataMap().get("jsondata");
        List<InputPart> imgpart = input.getFormDataMap().get("image");
        InputStream is2 = input.getFormDataPart("image", InputStream.class,null);
        String jsonStr = input.getFormDataPart("jsondata", String.class,null);
}

也应该有效。