如何在PowerShell中用replace巧妙地替换字符串
来源:互联网 发布:华为性格测试 知乎 编辑:程序博客网 时间:2024/05/30 23:15
我相信几乎所有人都会使用replace方法去替换一个字符串值,所以这里的文章标题我特地写了“巧妙地”,为什么说是巧妙地呢,因为replace方法所具备的替换能力绝对不是简单的添加一个原始值和替换值那么简单,一起跟着我这篇文章来看一下它还有哪些玩法吧:
我有一个字符串"Hello Anders",我想将这个字符串的Hello替换为Hi,所以结果为"Hi Anders",我们所有人肯定都会像下面这样做,一点都没错:
PS C:\Users\Administrator> "Hello Anders".Replace("Hello","Hi")Hi Anders如果我们想要把这两个单词颠倒一下前后顺序应该怎么办呢?可以这样:
PS C:\Users\Administrator> "Hello Anders" -Replace '(.*) (.*)','$2 $1'Anders Hello在这里,细心的朋友可能发现了我们用了-replace而不是replace(),它们的作用其实是一样的,但是又有点不一样,因为-replace比replace()更加的具备灵活性,-replace可以做一个正则表达式的替换匹配。这也就是为什么如上例子中,我们用了正则表达式,来替换两个单词的顺序,为了不让PowerShell做$2,$1的直接解析,这里我们用单引号将它们放在一起。
让我们一起再看一个例子,如下例子很明显我是想把[Hello]替换为Hi,可是却得到了出乎意料的结果:
PS C:\Users\Administrator> "[Hello] Anders" -Replace '[Hello]','Hi'[HiHiHiHiHi] AndHirs正如我们之前提到的,-replace是一个正则表达式的匹配参数,所以在这里"[","]"方括号被以正则表达式的方法解析替换了Hi,输出了非我们想要的结果。所以我们要稍加做些修改才行,像这样:
PS C:\Users\Administrator> "[Hello] Anders" -Replace '\[Hello\]','Hi'Hi Anders这样就告诉了PowerShell,不要去以正则表达式解析,我们加上了"\"去说明,最后我们得到了正确的结果。
当然,很多时候我们未必能清楚的知道每个正则表达式符号,所以你根本不可能像上面这样子手动的去告诉PowerShell哪些是正则表达式符号,然后不要去做解析。所以你可以更直接的使用下面的方法,直接不规避正则表达式解析而去做一个替换:
PS C:\Users\Administrator> "[Hello] Anders" -Replace ([Regex]::Escape("[Hello]")),"Hi"Hi Anders
0 0
- 如何在PowerShell中用replace巧妙地替换字符串
- 字符串替换,不用replace
- replace替换字符串问题
- replace 替换字符串。
- JQuery replace字符串替换
- js replace 字符串替换
- 【Java】字符串替换replace
- 如何在PowerShell中用递归模式自筛选数据
- js的replace如何全部替换目标字符串
- java 字符串替换函数replace ,如何同时替换多个字符串?
- 字符串替换之 Replace Pioneer
- MySQL replace函数替换字符串
- js replace 全部替换字符串
- js 字符串替换replace()详解
- sql 替换字符串 replace用法
- JavaScript:replace全部替换字符串
- java string 字符串替换:replace
- jquery replace字符串-全部替换
- ios 获取屏幕的属性和宽度
- 2015061407 - 该不该把兴趣当做事业?
- bootstrap响应式布局的实用类
- linux目录结构
- 被Unable to compile class for jsp搞疯了
- 如何在PowerShell中用replace巧妙地替换字符串
- 2015061408 - 规划一个人生?
- HDU 1134 卡特兰数 大数乘法除法
- Spring JdbcTemplate RowMapper vs ResultSetExtractor
- c语言的冒泡排序
- <一> Linux是什么
- Linux添加 用户
- Functional MRI (second edition) -- 1. An introduction to fMRI
- matlab pca 函数 输入输出数据的意义