[英]Regex to add spacing between sentences in a string in php
我使用西班牙語字典api來返回帶有小問題的定義。 當定義具有多於1個句子時,會發生此特定問題。 有時句子之間沒有用空格字符正確分隔,所以我收到如下信息:
這是一個句子。另一些句子。有時點之間沒有空格。 看到?
我正在尋找可以代替“”的正則表達式。 當圓點后緊跟一個不同於空格字符的字符時,表示“。”。 preg_replace()應該返回:
這是一個句子。 其他句子。 有時點之間沒有空格。 看到?
到目前為止,我有這個:
echo preg_replace('/(?<=[a-zA-Z])[.]/','. ',$string);
問題在於,當點后已經有空格時,它還會添加一個空格。 有任何想法嗎? 謝謝!
試試這個正則表達式:
echo preg_replace('/(?<!\.)\.(?!(\s|$|\,|\w\.))/', '. ', $string);
如果下一個字符不是空格或不是字符串的末尾,則只需要先行查找即可添加空格。
$string = preg_replace('/(?<=[a-zA-Z])[.](?![\s$])/','. ',$string);
echo preg_replace( '/\.([^, ])/', '. $1', $string);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.