私は2つの言葉が宇宙で激しく、前後に多くのスペースを持っています。 私がする必要があるのは、前後にスペースを入れないことです。文字列の前後のスペースを削除するには?
どのように前後のスペースを削除できますか?
私は2つの言葉が宇宙で激しく、前後に多くのスペースを持っています。 私がする必要があるのは、前後にスペースを入れないことです。文字列の前後のスペースを削除するには?
どのように前後のスペースを削除できますか?
あなたはtrim()を使用し、そのために正規表現を必要としません:
$words = ' my words ';
$words = trim($words);
var_dump($words);
// string(8) "my words"
この機能をSTRの先頭と最後から取り除か空白文字で文字列を返します。完全のために
(この質問はregex
をタグ付けされるように)、ここでの正規表現でtrim()
再実装したものです:didntは上記の二つの解決策は、私のために働いていたいくつかの理由
function preg_trim($subject) {
$regex = "/\s*(\.*)\s*/s";
if (preg_match ($regex, $subject, $matches)) {
$subject = $matches[1];
}
return $subject;
}
$words = ' my words ';
$words = preg_trim($words);
var_dump($words);
// string(8) "my words"
ので、私はこの解決策を考え出しました。
function cleanSpaces($string) {
while(substr($string, 0,1)==" ")
{
$string = substr($string, 1);
cleanSpaces($string);
}
while(substr($string, -1)==" ")
{
$string = substr($string, 0, -1);
cleanSpaces($string);
}
return $string;
}
これは動作する可能性がありますが、再帰のオーバーヘッドにより、これは非常に遅く非効率的になります。私はそれがどんな文字列でもうまく動作するはずなのになぜトリムがうまくいかないのか分かりません。 –
どうして私にとってうまくいかなかったのですか?私はまだ文字列の後に空白が表示されます。何かヒント?誰でも ? – ihue
おそらくそれらは空白ではありません。 Office Wordからのテキストでこの問題が発生しました。 –