PHP前端开发

如何使用正则表达式根据关键字拆分字符串?

百变鹏仔 3天前 #PHP
文章标签 字符串

拆分字符串:根据关键字将字符串拆分为数组

给定一个字符串和一个关键字列表,要求将字符串按照关键字拆分为一个数组。

问题:

要将以下字符串按照以下关键字拆分为数组:

字符串:你关注的杨幂有10个未看
关键字:["杨幂", 10]

预期结果:["你关注的", "杨幂", "有", 10, "个未看"]

解决方案:

我们可以使用正则表达式来完成这个拆分任务。正则表达式可以帮助我们匹配和提取字符串中的特定模式。

以下是一个使用 php 正则表达式的解决方案:

$str = "你关注的杨幂有10个未看";print_r (preg_split("/(杨幂|10)/", $str, -1, PREG_SPLIT_DELIM_CAPTURE));

正则表达式 /(杨幂|10)/ 表示匹配字符串中出现的关键字 "杨幂" 或 "10"。preg_split_delim_capture 选项指定将匹配的关键字本身也包含在数组中。

因此,最终得到的输出数组将包含:["你关注的", "杨幂", "有", 10, "个未看"]