gpt4 book ai didi

php - 如何在 PHP 中检测字符串中的分隔符?

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

我很好奇如果你有一个字符串,你会如何检测分隔符?

我们知道 php 可以使用 explode() 拆分字符串,这需要一个分隔符参数。

但是在将分隔符发送到 explode 函数之前检测分隔符的方法呢?

现在我只是将字符串输出给用户,他们输入分隔符。没关系,但我正在寻找应用程序来为我进行模式识别。

我应该在字符串中寻找正则表达式来识别这种类型的模式吗?

编辑:我最初未能指定可能有一组预期的分隔符。 CSV 中可能使用的任何分隔符。因此从技术上讲,任何人都可以使用任何字符来分隔 CSV 文件,但更有可能使用以下字符之一:逗号、分号、竖线和空格。

编辑 2:这是我为“确定的分隔符”提出的可行解决方案。

$get_images = "86236058.jpg 86236134.jpg 86236134.jpg";

//Detection of delimiter of image filenames.
$probable_delimiters = array(",", " ", "|", ";");

$delimiter_count_array = array();

foreach ($probable_delimiters as $probable_delimiter) {

$probable_delimiter_count = substr_count($get_images, $probable_delimiter);
$delimiter_count_array[$probable_delimiter] = $probable_delimiter_count;

}

$max_value = max($delimiter_count_array);
$determined_delimiter_array = array_keys($delimiter_count_array, max($delimiter_count_array));

while( $element = each( $determined_delimiter_array ) ){
$determined_delimiter_count = $element['key'];
$determined_delimiter = $element['value'];
}

$images = explode("{$determined_delimiter}", $get_images);

最佳答案

确定您认为可能出现的分隔符(如 ;|)以及每次搜索它们在字符串中出现的频率 ( substr_count)。然后选择出现次数最多的一个作为分隔符并分解

尽管这可能不是万无一失的,但在大多数情况下它应该可以工作;)

关于php - 如何在 PHP 中检测字符串中的分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4053599/

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