在 PHP 中使用正则表达式分隔单词(中间有空格和特定标点符号)

发布于 2024-11-03 18:33:32 字数 337 浏览 1 评论 0 原文

我有一个字符串,它包含一些我想要到达的单词,分隔符可以是由 ; 或空格组成的任何字符串。

这是一个例子:

;,osman,ali;, mehmet ;ahmet,ayse; ,

我需要使用单词 osman ali mehmet ahmetayse 到一个数组或任何我可以一一使用它们的类型。我尝试使用 preg 函数,但我无法弄清楚。

如果有人提供帮助,我将不胜感激。

I have a string and it contains some words that I want to reach, seperators can be any string that consist of , ; or a space.

Here is a example:

;,osman,ali;, mehmet ;ahmet,ayse; ,

I need to take words osman ali mehmet ahmet and ayse to an array or any type that I can use them one by one. I tried it by using preg function but i couldn't figure out.

If anyone help, I will be appreciative.

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

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

发布评论

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

评论(3

二货你真萌 2024-11-10 18:33:32
$words = preg_split('/[,;\s]+/', $str, -1, PREG_SPLIT_NO_EMPTY);
  • [,;\s] 是一个字符组,表示匹配该组中包含的任何字符
  • \s 匹配任何空白字符(空格、制表符、换行符等)。如果太多,只需将其替换为空格:[,; ]
  • + 表示匹配前面的一个或多个符号或组

演示

http://www.regular-expressions.info/ 是学习正则表达式的好网站。

$words = preg_split('/[,;\s]+/', $str, -1, PREG_SPLIT_NO_EMPTY);
  • [,;\s] is a character group which means match any of the characters contained in this group.
  • \s matches any white space character (space, tab, newline, etc.). If this is too much just replace it with a space: [,; ].
  • + means match one or more of the preceding symbol or group.

DEMO

http://www.regular-expressions.info/ is a good site to learn regular expressions.

软甜啾 2024-11-10 18:33:32

您想使用 preg_split 并使用 [;, ]+让你的正则表达式分割

$keywords = preg_split("/[;, ]+/", $yourstring);

You want to use preg_split and use [;, ]+ for your regex to split on

$keywords = preg_split("/[;, ]+/", $yourstring);
没企图 2024-11-10 18:33:32

按非单词字符拆分:

$array=preg_split("/\W+/", $string);

Split on non-word characters:

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