php - 如何删除字符串中最后一次出现的下划线

标签 php regex

我有一个字符串,其中包含许多下划线后跟单词 ex: "Field_4_txtbox"我需要找到字符串中的最后一个下划线并删除它后面的所有内容(包括“_”),所以它会返回给我 "Field_4"但我需要它来处理不同长度的结束字符串。所以我不能只修剪固定长度。

我知道我可以做一个 If 语句来检查某些结尾,比如

if(strstr($key,'chkbox')) {
    $string= rtrim($key, '_chkbox');
}

但我想使用正则表达式模式一次完成此操作,我该如何完成?

最佳答案

匹配的正则表达式是:

/_[^_]*$/

只需将其替换为 '':

preg_replace( '/_[^_]*$/', '', your_string );

关于php - 如何删除字符串中最后一次出现的下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16802990/

相关文章:

php - Google API PHP客户端服务中是否有FCM服务

php - 在链接上调用 php 函数

php - 使用变量运行 PHP 循环

ruby - 使用正则表达式在 Ruby 中查找精确的模式匹配

Javascript 检查 Url 以及 Url 是否包含字符串

java - 用于在 Java 中从右到左每 4 个字符用空格格式化二进制数的正则表达式

php - Composer,从/vendor/文件夹移动文件

PHP/PostgreSQL 数据库写入问题

python - 使用正则表达式替换python中的字符串

php - PHP-如何使用Regex转换YouTube URL