2013-10-09 5 views
0

У меня есть строка, где некоторые слова имеют завершающие штрихи (-'s), например:PHP - Regex - Удалить Продольный тире из каждого слова в строке

  • bid-
  • логической единицы
  • пытаясь угадать

строка для примера будет:

$string = "bid- hello 123 logic- try- temporal-logic"; 

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

bid hello 123 logic try temporal-logic 

Благодаря ...

+2

Да, есть способ. Что вы пробовали? –

+1

'str_replace (" - "," ", $ string)' будет делать большинство, если работа –

+0

@JasonOOO, которая сделает это быстро! спасибо – Jon

ответ

0

Я так устал, указывая человек regular-expressions.info, советуя узнать регулярное выражение ...

Так вот только ваш код, он будет удалять любой дефис за которым следует пробел или отслуживших строки:

$originalStr = "bid- hello 123 logic- try- temporal-logic"; 
$modifiedStr = preg_replace('/-(?=\s|$)/', '\1', $originalStr); 

Он использует lookahead ((?=...)), если вы заинтересованы.

+0

именно то, что я ищу! спасибо – Jon

+0

добро пожаловать. –

Смежные вопросы