繁体   English   中英

php-从字符串的最后删除第n个字符

[英]php - remove nth character from last in string

如果存在,如何从最后一个索引的字符串中删除特定字符',',是否可以删除?

{ "messages": [
    {
        "a": "a",
        "a": "",
        "a": "Title : Test Image",
        "a": "+923346455485"
    },{
        "a": "a",
        "a": "",
        "a": "Title : Test Image",
        "a": "+923346455485"
    },
]}

我只想从字符串中删除最后一个逗号...,这是},]}我只想删除逗号。

我已经试过了:

echo substr(trim($resultstr), 0, -4);

但会从最后删除所有4个字符。

您可以使用正则表达式。 /\\},(\\s+)\\]/m应该可以工作。

$data = preg_replace('/\},(\s+)\]/m', '}$1]', $data);

但是,而不是固定这一部分,你应该修复代码,从而产生错误的, JSON字符串中。

您可以执行以下操作:

$str = '{"messages":[{"a":"a","a":"","a":"Title : Test Image","a":"+923346455485"},{"a":"a","a":"","a":"Title : Test Image","a":"+923346455485"},]}';

if (!empty(strrpos($str, '"},]'))) {
    $str[strrpos($str, ',', strrpos($str, '"},]'))] = '';
}

echo $str;

但是,我严格建议您这样做,并建议您假设尝试构造JSON字符串,则替换后端中形成此字符串的代码。

希望这可以帮助。

您也可以尝试:

$string = substr_replace($string, '', strrpos($string, ','), 1);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM