我在php中有以下正则表达式代码,它可以查找并替换所有重复的字符。
$parts = explode("@", 'aaabbbddddeeesd@yahoo.com');
$username = $parts[0];
$domain = $parts[1];
$out = preg_replace('/(.)\1+/', '$1', $username);
$email = $out . '@' . $domain;
print_r($email);
此代码将替换所有重复的字符,但是我只需要替换字符串开头的第一组字符即可。
示例aaabbbddddeeesd@yahoo.com我需要输出为abbbddddeeesd@yahoo.com
我尝试了不同的正则表达式,但是直到现在,它仍然有效。
谢谢
答案 0 :(得分:1)
代替使用正则表达式,您可以提取用户名的第一个字符(使用$username[0]
),然后将其ltrim()
从字符串中提取出来,然后将其中的1个出现在后面。 / p>
$out = $username[0].ltrim($username, $username[0]);