如何转换以下字符串
"str 1<tab>str 2<tab>str 3<tab>str 4..........<tab>str n<tab and some whitespace>"
到
"*str 1*<tab>*str 2*<tab>*str 3*<tab>*str 4*..........<tab>*str n*<tab and some whitespace>"
其中str可以是“Stack - overflow”或“Super:User”,即包含一些空格和特殊字符的单词。
我知道我们可以使用拆分并解决这个问题。有没有办法只使用= ~s /// ..?
提前致谢!
三位一体
答案 0 :(得分:4)
$str =~ s/([^\t]+)/*$1*/g; # Wrap all non-tab groups with '*'s
要处理“特殊字符”,只需将其添加到不需要的项目列表中:
$str =~ s/([^\t:-]+)/*$1*/g;