使用 preg_replace 删除字符串末尾的多余空格

发布于 2024-10-14 05:12:37 字数 93 浏览 4 评论 0原文

我想在 PHP 中使用 preg_replace 替换字符串末尾的多余空格。我正在创建一个大型单词数据库,不知何故,有几个单词在末尾有额外的空白。

I want to replace the extra space at the end of the string with nothing using preg_replace in PHP. I was creating a big database of words and somehow a few words got extra white space at the end.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

农村范ル 2024-10-21 05:12:37

您应该使用 rtrim 代替。它将删除字符串末尾的多余空格,并且比使用 preg_replace 更快。

$str = "This is a string.    ";
echo rtrim($str);

速度比较 - preg_replacetrim

// Our string
$test = 'TestString    ';

// Test preg_replace
$startpreg = microtime(true);
$preg = preg_replace("/^\s+|\s+$/", "", $test);
$endpreg = microtime(true);

// Test trim
$starttrim = microtime(true);
$trim = rtrim($test);
$endtrim = microtime(true);

// Calculate times
$pregtime = $endpreg - $startpreg;
$trimtime = $endtrim - $starttrim;

// Display results
printf("preg_replace: %f<br/>", $pregtime);
printf("rtrim: %f<br/>", $trimtime);

结果

preg_replace:0.000036
rtrim:0.000004

如您所见,rtrim 实际上是 快九倍

You should use rtrim instead. It will remove extra white space at the end of a string and is faster than using preg_replace.

$str = "This is a string.    ";
echo rtrim($str);

Speed Comparison - preg_replace v. trim

// Our string
$test = 'TestString    ';

// Test preg_replace
$startpreg = microtime(true);
$preg = preg_replace("/^\s+|\s+$/", "", $test);
$endpreg = microtime(true);

// Test trim
$starttrim = microtime(true);
$trim = rtrim($test);
$endtrim = microtime(true);

// Calculate times
$pregtime = $endpreg - $startpreg;
$trimtime = $endtrim - $starttrim;

// Display results
printf("preg_replace: %f<br/>", $pregtime);
printf("rtrim: %f<br/>", $trimtime);

Results

preg_replace: 0.000036
rtrim: 0.000004

As you can see, rtrim is actually nine times faster.

盗心人 2024-10-21 05:12:37

根据需要使用 preg_replace :

$s = ' okoki efef ef ef   
';

print('-'.$s.'-<br/>');

$s = preg_replace('/\s+$/m', '', $s);

print('-'.$s.'-');

with preg_replace as you wanted :

$s = ' okoki efef ef ef   
';

print('-'.$s.'-<br/>');

$s = preg_replace('/\s+$/m', '', $s);

print('-'.$s.'-');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文