これを試してみましたが、英数字でしか動作しないようです。
\ba\w*\b <- works
\b-\w*\b <- doesn't work
ハイフンで始まる文字列からすべての単語を削除するにはどうすればよいですか?
これを試してみましたが、英数字でしか動作しないようです。
\ba\w*\b <- works
\b-\w*\b <- doesn't work
ハイフンで始まる文字列からすべての単語を削除するにはどうすればよいですか?
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
制限が適用されます。アクセント付き文字を使用できます。マルチバイト文字は確かにストレッチになります。