如何在特定字符后删除字符串中的最后一个单词

时间:2017-09-20 14:22:46

标签: php preg-match

我想知道如何在特定字符后删除字符串中的最后一个单词。

这些是几个字符串

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”

1 个答案:

答案 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);
相关问题