如何从字符串中修剪数字和下划线?

时间:2016-08-29 22:13:54

标签: php regex

所以我有一个文件6647_241_file1.pdf,我需要摆脱文件名的6647_241_部分。

我的原始名字来自一排,但我以简单的方式创建了我在下面做的事情。

<?php
$string=$row[file_name];

成为:

$string="6647_241_file1.pdf";

$string1 = preg_replace("/*._/", "", $string);
echo $string1; 
?>

我只是在尝试这个,但没有成功。数字会发生变化,所以我不确定删除它们的通用方法吗?

2 个答案:

答案 0 :(得分:2)

试试这个正则表达式/^[\d_]*/

$string="6647_241_file1.pdf";

$string1 = preg_replace("/^[\d_]*/", "", $string);
echo $string1; 

应该回应:file1.pdf

它做了什么:

  1. ^表示查看字符串的开头
  2. []表示将几个字符或字符组合在一起作为一个
  3. \d是数字
  4. 的字符类
  5. _就是角色本身
  6. *表示小组[]可以累计零次或多次
  7. 用一句话: 从头开始选择所有数字和下划线,直到出现其他内容。

答案 1 :(得分:1)

有正则表达式和爆炸声等等。但这是一种有趣的方式:

$result = ltrim($string, '0123456789_');

如果要修剪两端,请使用trim()