gpt4 book ai didi

来自字符串的 PHP token

转载 作者:可可西里 更新时间:2023-11-01 00:11:25 24 4
gpt4 key购买 nike

假设您有一个如下所示的字符串:token1 token2 tok3

并且您想获取所有标记(特别是空格之间的字符串),以及它们的位置(偏移量)和长度。

所以我想要一个看起来像这样的结果:

array(
array(
'value'=>'token1'
'offset'=>0
'length'=>6
),
array(
'value'=>'token2'
'offset'=>7
'length'=>6
),
array(
'value'=>'tok3'
'offset'=>14
'length'=>4
),
)

我知道这可以通过简单地循环遍历字符串的字符来完成,我可以简单地编写一个函数来完成此操作。

我想知道,PHP 是否有任何内置功能可以有效地执行此操作或至少可以帮助完成其中的一部分?

我正在寻找建议并感谢所提供的任何帮助。谢谢

最佳答案

您可以使用 preg_match_all使用 PREG_OFFSET_CAPTURE 标志:

$str = 'token1 token2 tok3';
preg_match_all('/\S+/', $str, $matches, PREG_OFFSET_CAPTURE);
var_dump($matches);

然后你只需要像这样替换 $matches[0] 中的项目:

function update($match) {
return array( 'value' => $value[0], 'offset' => $value[1], 'length' => strlen($value[0]));
}
array_map('update', $matches[0]);
var_dump($matches[0]);

关于来自字符串的 PHP token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4187821/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com