一种高效的PHP方法,可以为大量行返回带有多个分隔符的字符串的第一部分

一种高效的PHP方法,可以为大量行返回带有多个分隔符的字符串的第一部分,php,string,split,delimiter,Php,String,Split,Delimiter,这是一个常见的问题,但从性能的角度提出 在找到空格或*之前,如何返回字符串的第一部分?在单行代码中。 我看到了很多方法,比如strstr、strtok、explode等,但如果我没有错的话,它们都只支持一个分隔符 我已将日期写入如下文本: 29-Apr-2021* 02-09-2019 12:00:00 将最后一个零件从*或空间中剥离以返回2021年4月29日和2019年9月02日 我有大约5000行要循环,每行有5个日期字段要更正。所以我需要最快的方法来实现这一点。 我读过关于preg

这是一个常见的问题,但从性能的角度提出

在找到空格或*之前,如何返回字符串的第一部分?在单行代码中。 我看到了很多方法,比如strstr、strtok、explode等,但如果我没有错的话,它们都只支持一个分隔符

我已将日期写入如下文本:

29-Apr-2021*  
02-09-2019 12:00:00 
将最后一个零件从*或空间中剥离以返回
2021年4月29日和2019年9月02日

我有大约5000行要循环,每行有5个日期字段要更正。所以我需要最快的方法来实现这一点。
我读过关于preg_split的文章,但我想这会很慢。

不确定这是不是最快的方法,但你不必使用preg_split。您可以使用支持多个分隔符的

请注意,您可以在token参数中放置多个令牌。这个 当字符串中的任何一个字符 找到了一个参数

输出

29-Apr-2021
02-09-2019

不确定这是否是最快的方法,但您不必使用preg\u split。您可以使用支持多个分隔符的

请注意,您可以在token参数中放置多个令牌。这个 当字符串中的任何一个字符 找到了一个参数

输出

29-Apr-2021
02-09-2019

试试strtok($str,“*”)那么你现在的方式有多快?你说你猜5000行和5个日期字段太慢了。5000排也不算多。你有没有为速度设定目标?或者实际的问题是什么?试试strtok($str,“*”)那么您当前的方式有多快?你说你猜5000行和5个日期字段太慢了。5000排也不算多。你有没有为速度设定目标?或者实际问题是什么?