如何在 PHP 中以 2 个或多个连续空格分割字符串
Posted
技术标签:
【中文标题】如何在 PHP 中以 2 个或多个连续空格分割字符串【英文标题】:How to split a string at 2 or more consecutive spaces in PHP 【发布时间】:2013-06-17 23:36:33 【问题描述】:我终于有了一个在 Stack Overflow for php 上尚未得到解答的问题。
我需要将城市、州、邮编保存在不同的变量中。给定字符串
$new = "PALM DESERT SD63376 "
我正在尝试去除分组为 2 个或更多的空间,以便我可以在应有的情况下保留一个城市 2 个字。除此之外,我可以弄清楚,但我所有的搜索要么显示了如何用不同的语言 (Java) 分割字符串,要么显示了如何在一个我无法做到的空间处分割。
我正在尝试使用
$addr = preg_split('#^.*(?=\s2, )#', $new);
但我没有在PALM DESERT
和“SD63376 ”之间拆分字符串。请帮忙!
【问题讨论】:
一字城市呢?他们将如何处理?为什么这是一个字符串?你能在它达到这一点之前把它拆开吗? ***.com/questions/559363/matching-a-space-in-regex 这可能会有所帮助 不幸的是,它是从 mysql 传递到 php 的。它来自外部来源 虫族正在进化正则表达式?!?现在我们有两个以上的问题...... 简单的preg_split('/\s2,/', $new)
怎么样? It seems to work fine.
【参考方案1】:
您可以使用以下内容:
$str = "PALM DESERT SD63376 ";
// note that there are two spaces in the regex pattern
var_dump(preg_split('~ +~', $str, -1, PREG_SPLIT_NO_EMPTY));
输出:
array(2)
[0] =>
string(11) "PALM DESERT"
[1] =>
string(7) "SD63376"
【讨论】:
OP 希望“PALM”和“DESERT”保持在一起。 哎呀!我没有意识到这一点。给我一秒钟 波浪号有什么作用?没见过以上是关于如何在 PHP 中以 2 个或多个连续空格分割字符串的主要内容,如果未能解决你的问题,请参考以下文章