Используя регулярные выражения, как я могу удалить некоторые двоеточия и заменить другие пробелами? - PullRequest
2 голосов
/ 06 февраля 2010

Необходимо регулярное выражение заменить в строке двоеточия пробелами, исключая ситуации, когда двоеточие первый и (или) последний символ - их просто удаляют.

Пример1
"6:206:НР" -> "6 206 НР"

Пример2
":206:" -> "206"

Ответы [ 3 ]

2 голосов
/ 06 февраля 2010

В PHP вы можете сделать:

$from = array('/^:|:$/','/:/');
$to = array('',' ');
$output = preg_replace($from,$to,$input);
2 голосов
/ 07 февраля 2010

Вряд ли нужно использовать регулярные выражения для такой тривиальной задачи. Сначала замените все двоеточия пробелами, затем обрежьте полученную строку, чтобы избавиться от пробелов до и после данных.

Синтаксис PHP:

$string = trim(str_replace(':', ' ', $string));
1 голос
/ 06 февраля 2010

Вы не можете сделать условную замену одним единственным регулярным выражением. Вам нужно будет использовать библиотеку вашего языка. Пример Python:

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

Если вам абсолютно необходимо сделать это через регулярное выражение, вы можете использовать два из них. Пример:

s = re.sub(':', ' ', re.sub('^:|:$', '', s))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...