如何替换PowerShell中的"/"与"\"符号

在之前的工作中突然遇到一个小问题,于是想作为笔记在这里记录下来。
这是关于如何替换路径中斜杠的问题,后来发现其实要解决这个问题其实很简单,那么这里我举例如下:
首先,我有一个字符串为:"blob\2015\01\10\1400\000000.log",我想要将"\"替换为"/",也就是最后要得到这样的效果:"blob/2015/01/10/1400/000000.log"
通常,我们会使用replace参数直接替换,但是你会发现PowerShell报了一个错误,告诉我这是一个无效的正则表达式。
PS C:\Windows\system32> "blob\2015\01\10\1400\000000.log" -replace "\","/"
Invalid regular expression pattern: \.
At line:1 char:43
+ "blob\2015\01\10\1400\000000.log" -replace <<<<  "\","/"
    + CategoryInfo          : InvalidOperation: (\:String) [], RuntimeException
    + FullyQualifiedErrorId : InvalidRegularExpression
而为什么如下,我们却可以将正斜杠顺利的替换为反斜杠呢?
PS C:\Windows\system32> "blob/2015/01/10/1400/000000.log" -replace "/","\"
blob\2015\01\10\1400\000000.log
其实'\'反斜杠很多时候也会在很多语言中用作转义字符的效果,那么或许PowerShell无法正常的解析,那么我还了一个方式,终于能够正常运行了,并且能够正常解析了。
PS C:\Windows\system32> "blob\2015\01\10\1400\000000.log" -replace "\\","/"
blob/2015/01/10/1400/000000.log
不过,虽然问题解决了,我依然发现如果我们以System.String类型下的replace方法来将反斜杠替换为正斜杠的话却是毫无问题的。
PS C:\Windows\system32> ("blob\2015\01\10\1400\000000.log").replace("\","/")
blob/2015/01/10/1400/000000.log


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值