我试过这个,但它似乎只适用于字母数字字符?
\ba\w*\b <- works
\b-\w*\b <- doesn't work
如何删除以连字符开头的字符串中的所有单词?
答案 0 :(得分:0)
preg_replace(“/ - \ w + /”,“”,“ - 000 aaa -bbb ccc -ddd -eee”)
给出: aaa ccc
编辑3次:正如评论中所注意到的那样 - 无论是否是原始问题的一部分 - 所有建议的变体都不适用于-xx-yy-zz或qq-ww -ee,或-äüö。这一个:
preg_replace("/(\s?)(?<=\s|^)(-)\S*\s*/", "$1", "-000 aaa -bbb ccc -ddd -eee-eee-eee -äüö fff-qqq-rrr äüö2 äüö-äüö-3 -ggg");
......产生了以下内容:
aaa ccc fff-qqq-rrr äüö2 äüö-äüö-3
限制适用:重音字符可以接受;多字节肯定是一个延伸。