自动在句点和逗号后添加空格,同时避免数字
这是当前我在人们写下以下内容时用来清理句子的正则表达式:
你好,我是安德烈斯,对吗?
自动转换为:
您好。我是安德烈斯,对吗?
当字符串中包含数字时,就会出现问题。示例:
我有40.381,32美元。
.将转换为:
我有40个。381,32美元。
我的当前代码:
echo preg_replace( '/[!?,.](?![!?,.s])/', '$0 ', 'Hello my friend.There should be a space after sentence periods and commas, but that should not apply to 40.381,32 numbers.');
问题:当、.字符位于数字之间时,如何避免应用这些规则?谢谢!
解决方案
使用正则表达式模式
(?<!d)[.,!?](?!d)
或
(?<!d)[.,!?](?![.,!?d])
相关文章