gpt4 book ai didi

PHP - 无法从字符串中删除空格

转载 作者:行者123 更新时间:2023-12-02 00:46:43 25 4
gpt4 key购买 nike

我有一段代码,可以从 CSV 文件中读取值,所有记录都在工作中,然后对每个单独的记录进行验证并在对外部源的 API 调用中使用,所有这些都在工作中。

今天我上传了一个 CSV 文件,当我打开它时,CSV 中每个条目的末尾似乎有 3 个空格,这导致 API 调用失败。

我尝试过使用trim()但它没有做任何事情,我也尝试过使用 preg_replace('/^((?=^)(\s*))|((\s*)(?>$))/si', '', $pValue)这也没有任何影响。

我在 Notepad++ 中打开了 CSV 文件并使其能够显示所有符号,其中明显有 3 个空格和 CRLF .

以前有人遇到过这样的问题吗?下面是代码片段以及键盘上的示例。

编辑:

示例:http://codepad.org/DfjzPcUU

代码片段,如果需要更多,请告诉我。

$vCSVData = self::getCSVData($vPendingFilePath);

foreach ($vCSVData AS $vKey => $vValue)
{
echo self::getNubmer($vValue);
...
}

getCSVData():

private function getCSVData($pFilePath)
{
return call_user_func_array('array_merge', array_map('str_getcsv', file($pFilePath, FILE_SKIP_EMPTY_LINES)));
}

CSV 文件片段:

Blue Table   
Green Chair  
Temp. Table   

最佳答案

事实证明,我认为的空白实际上是 ASCII 194 个字符(感谢 MikeB)解决了这个问题,如使用正常的 "" (空白)检查不起作用下面的代码片段对我有用。

preg_replace("/[\xA0\xC2]/", "", "Table   ")

xA0 是字符 160,xC2 是字符 194。

您还可以在这种情况下使用修剪,通过使用下面的语句,在 preg_replace 上使用修剪的处理时间稍微快一些,也就是说每种情况下的开销和差异可以忽略不计,在我的情况下,任何一个都足够了。

trim("Table   ", "\xA0\xC2")

示例:http://codepad.org/8H5Ut2KA

我可以使用下面的代码片段找出“空格”是什么:

var_dump(ord($vString{5}));

关于PHP - 无法从字符串中删除空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25514786/

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