如何删除字母之间的所有破折号,但保留数字之间的任何破折号?对不起我以前没有任何尝试显示,因为我在谷歌搜索一小时后找不到任何东西。目前我正在使用一个简单的str_replace来删除不需要的字符。
答案 0 :(得分:1)
您可以使用标头:
$str = preg_replace('/(?<=\D)-(?=\D)/', '', 'abc-xyz-12-45-89');
//=> abcxyz-12-45-89
答案 1 :(得分:1)
如果您对Letter-Letter感兴趣,这可能会起作用
如果您使用[a-zA-z]
或\pL
以外的任何内容,则会删除
字母,标点符号,空格,控制字符或任何组合等之间的短划线......
查找:(?i)(?<=[a-z])-(?=[a-z])
替换为空字符串。