删除最后一个字母前的所有字符

dan*_*dan 7 php regex

我有一个混合字符串,如:

Job number  45752 Subtotal price $937.50 
Job number  7852 Subtotal amount $637.50 
Job number  42 Subtotal test $427.50 
Job number  47592 Subtotal sample $976.50 
Run Code Online (Sandbox Code Playgroud)

如何在价格上检测最后一个字母字符,如第一个样本'e',并获取其位置,然后删除前面的所有其他字符?

我知道strpos可以用来找到最后一个字符

strpos(string,find,start)
Run Code Online (Sandbox Code Playgroud)

但是如何让它跟踪任何字母而不是固定字母呢?我猜正则表达式可能会有所帮助,但不知道如何把它放入.请帮助.

Jon*_*y 5 6

使用regex preg_replace()函数,使用标志 i无外壳和m多行模式:
要从^行开头替换为带有可选空格的最后一个alpha,请先放置一个贪婪的 [a-z]

$str = preg_replace('/^.*[a-z]\h*/im', "", $str);
Run Code Online (Sandbox Code Playgroud)

\h*匹配任何数量的水平空间.请参阅regex101,eval.in,regex quickstart上的测试


Dee*_*ran 1

尝试这个..

strstr()去做这个。

$email  = 'name@example.com';
$domain = strstr($email, '@');
echo $domain;
Run Code Online (Sandbox Code Playgroud)

// 打印@example.com

参考: http: //php.net/manual/en/function.strstr.php