我目前正在寻找一种在某些地方从字符串中删除句号的方法。
我想要它,以便只有在不满足 2 个条件时才删除句号;
句号前没有数字。
和
句号后没有数字。
我目前有这个正则表达式
'#(?<!'d)'.(?!'d)#'
但这不会删除字符串中的句号,例如
'hello.1', '1.hello'
我猜由于在句号之前或之后有一个数字,匹配失败并且无法识别。
我怎样才能做到必须同时满足向前看和向后看,以便有匹配并正确删除句号?
谢谢。
编辑
我希望它删除句号,当且仅当~OR~之前没有数字时,句号之后没有数字。因此,只有当字符串如此(a digit).(a digit)
时,才能有一个句号,但在任何其他情况下都会删除句号。
你可以这样做:
'#((?<!'d)'.|'.(?!'d))#'
如果点之前或后面有非数字,它将删除点。