假设你有一个字符串,但你不知道它包含了什么。并且你想用同一个单词的格式化版本来替换特定单词或单词部分的所有出现。 例如,我有一个包含“lorem ipsum”的字符串,我想用“lorem can”替换包含“lo”的整个单词,以便最终结果为“lorem can ipsum”,但如果我将字符串“loreal ipsum”通过相同的功能,结果现在将是“loreal可以ipsum”。 感谢如何从PHP中的字符串中获取特定单词?
1
A
回答
0
$str = preg_replace('/lo(\w*)/', 'lo$1 can', $str);
这将替换 “LO” 加上 “LO” +其他字符+任意单词字符 “可以”
还将取代 “LO” 和 “LO可以” - 如果你不想这样,与RoBorg的回答改变\w*
到\w+
4
$str = preg_replace('/(\blo[a-z]+\b)/', '$1 can', $str);
的问题是:
\w
匹配数字和下划线,它们不是真的人类语言中的单词字符,所以它会匹配'lo_fi'或'__lo__'。- 它还会匹配不以
lo
开头的单词,例如'slorem',或者甚至包含以'allo'结尾的单词。
\b
确保lo
如下的单词断(零宽度)和[a-z]+
确保至少一个字母字符如下“LO”。
编辑:我看到问题的文字说“包含”而不是“开始于”,在这种情况下,第一个\b
可能会被省略。
编辑2:请注意,这些解决方案都不是国际安全的。我没有测试过这个,但是PHP的RegEx功能很强大,所以我猜测它可以工作:
$str = preg_replace('/(\blo[a-z\p{L}]+\b)/', '$1 can', $str);
相关问题
- 1. PHP:如何从字符串中获取特定单词
- 2. 如何在PHP中获取特定的字符串单词?
- 3. 获取Ruby字符串中特定单词后的单词吗?
- 4. 从字符串中获取特定单词,ORACLE
- 5. 从字符串获取单词 - PHP
- 6. PHP从HTML字符串中的特定单词剪切文本
- 7. 如何从字符串中删除特定的单词?
- 8. perl - 如何从字符串中删除特定的单词?
- 9. 如何从字符串中删除特定的单词?
- 10. 如何从每个单词在字符串中删除特定的字母 - PHP
- 11. 通过字词表从字符串中删除特定单词
- 12. 如何获取字符串的单词?
- 13. 从NSString获取子字符串直到到达特定单词
- 14. PHP获取特定字词内的一些字符串
- 15. PHP如何从短语中删除特定的字符串/单词?
- 16. 如何从字符串使用PHP获取特定的子字符串数字?
- 17. 如何从特殊字符串中获取数字? PHP
- 18. 如何从字符串中获取随机单词?
- 19. 从字符串获取特定字符
- 20. 从java中的一个字符串中分出特定单词
- 21. 如何从我的表中获取特定的字符串?
- 22. grep从特定字符/单词中读取某些字符/单词
- 23. Ruby:从字符串中提取单词
- 24. 如何从字符串中获取特定的数据?
- 25. 如何从源中获取特定的字符串?
- 26. 如何从_applicationObject获取文件中的特定字符串
- 27. 如何从C#中的XML字符串获取特定节点
- 28. 如何只从JavaScript中的字符串中获取特定的字符?
- 29. 如何从python中的字符串中提取单词?
- 30. JS:从字符串中提取数字,即在特定单词之前提取