在一个字符串里面我有几个带点的单词; e.g:
lorem 1.5 ipsum。 Cratea lopusus。
经过多次测试后,如果点在一个单词后面,我看不到如何删除这些点。例如,我想得到这个字符串:
lorem 1.5 ipsum Cratea lopusus
我已经使用这么多正则表达式测试但没有成功:
/\.\b/ /[.]\b/ /[\.]\b/ ...
你能给我一个例子来删除点(在一个单词后面放置点)吗?
感谢您的帮助。
答案 0 :(得分:-1)
你可以像这样使用preg_replace()函数
$str = 'lorem 1.5 ipsum. Cratea lopusus.';
$result = preg_replace('/([^0-9])\./', '${1}', $str);
答案 1 :(得分:-1)
你可以尝试
\b\.\B
这将匹配在单词边界之后和非单词边界之前的所有句点。但是,有些事情需要考虑:
否则,您可以使用特定字符集[]
代替\b
/([a-zA-Z0-9!@#$%^&*()]+)\.\B/
preg_replace("/([a-zA-Z!@#$%^&*()]+)\.\B/", "\${1}", $str);
请注意我使用的字符集只是一个示例,您可以根据需要进行修改。