我目前正在寻找一种方法,可以在某些地方删除字符串中的fullstops。
我希望它只有在不满足2个条件时才会删除fullstops;
在满座之前没有数字。
和
完整停车后没有数字。
我目前有这个正则表达式
'#(?<!\d)\.(?!\d)#'
但这并不会删除字符串中的fullstops,例如
'hello.1', '1.hello'
我猜测,因为在完全停止之前或之后有一个数字,匹配失败并且无法识别。
我怎样才能做到这一点,以便必须满足前瞻和后方才能有匹配并正确删除fullstop?
谢谢。
修改
我希望它删除fullstops,当且仅当在〜OR~ 之前没有数字时,在fullstop之后没有数字。因此,如果字符串类似于(a digit).(a digit)
,则只能有一个fullstop,但在任何其他情况下都会删除fullstops。
答案 0 :(得分:3)
你可以这样做:
'#((?<!\d)\.|\.(?!\d))#'
如果点前面或后面有非数字,它将删除点。