我想知道如何在特定字符后删除字符串中的最后一个单词。
这些是几个字符串
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”
答案 0 :(得分:1)
有很多方法可以实现这一目标。一种选择是使用preg_replace
从字符串末尾删除集合中的所有字符:
echo preg_replace('/[^_]+$/', '', 'lv_datatable_5_english');
// lv_datatable_5_
正则表达式匹配除_
以外的所有字符,并使用$
如果您发现它更清楚,您可以显式返回主题的子字符串,包括最后一个_
字符:
$string = 'lv_datatable_5_english';
echo substr($string, 0, strrpos($string, '_') + 1);