如何删除特定字符后的字符串中的最后一个字
问题描述:
我想知道如何从特定字符后的字符串中删除最后一个字。如何删除特定字符后的字符串中的最后一个字
这些都是几个字符串
lv_datatable_5_english
lv_datatable_5_arabic
How can i remove "english" and "arabic" from these string to get this
lv_datatable_5_
这是我迄今为止
echo implode(" ", array_slice(str_word_count($id, 1), 0, -1));
echo substr($string, 0, strpos($string, "_"));
尝试,但这种删除整个单词从_
开始,我得到这个输出
“lv datatable”
答
实现此目的的方法有很多。一个选择是使用preg_replace
从一组从一个字符串的末尾删除所有字符:
echo preg_replace('/[^_]+$/', '', 'lv_datatable_5_english');
// lv_datatable_5_
正则表达式中的所有字符匹配除了_
,和锚定至串的一端与$
如果你发现它更清晰,你可以明确地返回对象的字符串截至及包括最后一个字符_
:
$string = 'lv_datatable_5_english';
echo substr($string, 0, strrpos($string, '_') + 1);
将字符串总是有'_'的一样多吗? –
是的,只有最后一个字会改变@ LawrenceCherone –