我很好奇,如果你有一个字符串,你会如何检测分隔符?
我们知道php可以使用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);
Run Code Online (Sandbox Code Playgroud) 如何以字符串形式检索 .CSV 文件的第一行?
我正在使用的当前方法未能返回第一行,而是返回第二行:
$content = file($filepath);
echo $content[0];
Run Code Online (Sandbox Code Playgroud)