使用正则表达式,如何删除一些冒号并用空格替换其他冒号?

时间:2010-02-06 08:21:36

标签: regex

有必要使用空格替换冒号行中的冒号,除了冒号第一个和(或)最后一个符号的情况 - 它们只是被删除。

例1
"6:206:НР" - > "6 206 НР"

例2
":206:" - > "206"

3 个答案:

答案 0 :(得分:2)

在PHP中你可以这样做:

$from = array('/^:|:$/','/:/');
$to = array('',' ');
$output = preg_replace($from,$to,$input);

答案 1 :(得分:2)

几乎没有必要使用正则表达式来执行这样一个简单的任务。首先用空格替换所有冒号,然后修剪结果字符串以除去数据之前和之后的空格。

PHP语法:

$string = trim(str_replace(':', ' ', $string));

答案 2 :(得分:1)

单独使用一个正则表达式无法进行条件替换。您需要使用您的语言库。 Python示例:

s = s.replace(':', ' ').strip()

如果您绝对需要通过正则表达式执行此操作,则可以使用其中两个。例如:

s = re.sub(':', ' ', re.sub('^:|:$', '', s))