如何使用 preg replace 在每个字符后放置一个点

How can I place a dot after each character using preg replace

这段代码的目的是寻找独立的字符并在每个字符后放置一个点。例如。 "Jane Doe L D I" 应该 return "Jane Doe L. D. I."

我的代码在特定条件下工作。但是,当我使用以下场景时,它失败了。当我使用 "Jeans Shirts K/N" 和 returns "Jeans Shirts K./N."

的字符串时失败
$string = "Jeans Shirts K-92";  
echo preg_replace('/\b[A-z]{1}\b/', '[=10=].', $string);   

Result: (Fail)   
Jeans Shirts K.-92

Expected Result:
Jeans Shirts K-92

你应该使用:

echo preg_replace('/(?<=\s|^)[A-Za-z](?=\s|$)/', '[=10=].', $string);
//=> Jeans Shirts K-92

[A-z] 不正确,因为它匹配 ASCII A (65) 和 z (122) 之间的更多字符。