使用Wild Card搜索和替换

时间:2012-05-10 14:21:39

标签: vi

我的文字如下 -

xA0
xA1
xB0
xB1

我想将其替换为

(xA 0)
(xA 1)
(xB 0)
(xB 1)

在这种情况下如何使用通配符? 有人可以帮忙。

2 个答案:

答案 0 :(得分:2)

s/\(x[AB]\)\([01]\)/(\1 \2)/会给您预期的结果吗?


Explinations

搜索和替换的一般模式是s/pattern/replacement/。这里的第一场比赛是x[AB]。这意味着我们希望x后跟AB。使用\( \)对匹配进行分组并将结果存储在\1中。对数字也是如此,假设为01。最后,请\1\2返回存储的组,并将其放在括号内。

答案 1 :(得分:1)

如果文本的长度始终相同,则可以使用子字符串。

选择子串(列,1,2)+''+子串(列,3,1)

如果你有一个可变长度的值,虽然子字符串不起作用。