正则表达式将Myname“U Mysurname与”关联&引用;在PHP中
我需要一个正则表达式来替换这样的字符串正则表达式将Myname“U Mysurname与”关联&引用;在PHP中,php,regex,Php,Regex,我需要一个正则表达式来替换这样的字符串 "Myname _MySurename" with "Myname" 这意味着我只需要我的名字,所以我的名字应该被删掉 我尝试了类似“/”的东西,但它只替换了“/(下划线) 如何在PHP中实现这一点 试试看: /\s_.+$/ “将空格(空格)替换为下划线和若干字符”。$确保在字符串的末尾匹配 这是未经测试的,但应该可以使用。您可以将下划线和以下单词替换为: $str = preg_replace('/_\w+/','',$str); 看起来名称
"Myname _MySurename" with "Myname"
这意味着我只需要我的名字,所以我的名字应该被删掉
我尝试了类似“/”的东西,但它只替换了“/(下划线)
如何在PHP中实现这一点 试试看:
/\s_.+$/
“将空格(空格)替换为下划线和若干字符”。$
确保在字符串的末尾匹配
这是未经测试的,但应该可以使用。您可以将
下划线和以下单词替换为:
$str = preg_replace('/_\w+/','',$str);
看起来名称后面还有一个空格。因此,您可以使用:
$str = preg_replace('/\s*_\w+/','',$str);
从您的描述可以明显看出您
知道你的弦在哪里
被拆分
因此:最好不要使用正则表达式替换,
但使用regex split:
preg_split('/\s*_/', $text)
这将返回拆分项的列表,
获取第一个,例如通过:
...
$names = 'Myname_MySurename'; # 'Myname _MySurename';
# print first element of splitted array
$firstname = array_shift( preg_split('/\s*_/', $names) );
...
问候
rbo