0

これを試してみましたが、英数字でしか動作しないようです。

\ba\w*\b  <- works
\b-\w*\b  <- doesn't work

ハイフンで始まる文字列からすべての単語を削除するにはどうすればよいですか?

4

1 に答える 1

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

制限が適用されます。アクセント付き文字を使用できます。マルチバイト文字は確かにストレッチになります。

于 2012-10-21T09:16:29.183 に答える