删除字符串中的2个或更多连续短划线

时间:2014-11-01 00:10:43

标签: php regex

我有以下字符串:

made by order 7-10 days work Ekspres order 3-5 days work (+10k) ------------------------------------------- Bisa dipesan dengan model jumper

我希望删除字符串中的任何2个或更多连续短划线,所以在上面的情况下我想在字符串中保留3-5,但我想删除此字符串中可怕的长短划线。我该怎么做?

2 个答案:

答案 0 :(得分:3)

使用preg_replace功能,

preg_replace('~-{2,}~', '', $string);

DEMO

-与文字-匹配,以下{2,}会重复前一个字符两次或更多次。这将匹配2个或更多连续破折号。用空字符串替换匹配的短划线将为您提供所需的输出。

答案 1 :(得分:0)

为了完整起见,这有相同的结果:

preg_replace('/--+/', '', $string);

有人向我指出这个问题,询问应该使用哪个版本,我说使用你喜欢的版本,他们都做同样的但是第一个(接受的回答)会更短,因为你没有&# 39; t必须输入重复字符(" - ") n 次。

此外,您可以使用" /" {} 版本中的分隔符,这在php中更常见。

preg_replace('/-{2,}/', '', $string);