Blu*_*luz 5 regex string powershell replace special-characters
我有以下字符串:
01/01/2014 blbalbalbalba blabla/blabla
我想用空格替换最后一个斜杠,并在日期中保留前两个斜杠.
我提出的最接近的事情是这样的事情:
PS E:\> [regex] $regex = '[a-z]'
PS E:\> $regex.Replace('abcde', 'X', 3)
XXXde
Run Code Online (Sandbox Code Playgroud)
但我不知道如何从终点开始.任何帮助将不胜感激.
编辑我的问题以澄清:我只想用空格字符替换最后一个斜杠字符,因此:
01/01/2014 blbalbalbalba blabla/blabla成为01/01/2014 blbalbalbalba blabla blabla
知道"blabla"的长度从一行到另一行是不同的,斜线字符可以是任何地方.
谢谢 :)
Mat*_*ion 10
使用以下字符串匹配:
(.*)[/](.*)
Run Code Online (Sandbox Code Playgroud)
以及以下内容:
$1 $2
Run Code Online (Sandbox Code Playgroud)
(.*)匹配任何东西,任意次数(包括零).通过将它包装在括号中,我们可以在替换序列期间再次使用它,使用占位符$后跟元素编号(作为示例,因为这是第一个元素,$1将是占位符).当我们在替换字符串中使用相关占位符时,它会将正则表达式的此部分匹配的所有字符放入结果字符串中.在这种情况下,匹配的文本将是01/01/2014 blbalbalbalba blabla
[/] 用于匹配正斜杠字符.
(.*)再次用于匹配任何次数,任何次数,类似于第一个实例.在这种情况下,它将匹配blabla,使其在$2占位符中可用.
基本上,前三个元素一起工作以查找多个字符,后跟正斜杠,后跟另一个字符.因为第一个"匹配一切"是贪婪的(也就是说,它将尝试匹配尽可能多的字符),它将包括所有其他正斜杠,直到最后一个.它没有停止上一个正斜杠的原因是包括它会使正则表达式失败,因为[/]它将无法再匹配任何东西.
| 归档时间: |
|
| 查看次数: |
8363 次 |
| 最近记录: |