python - 仅提取首字母大写的整个单词
问题描述
我这里有一个文本文件需要分析,我感兴趣的只是首字母大写的整个单词,
例如:测试字符串:Everyday HOLDS the poSSibility Of A Miracle
我想捕捉: Everyday Of A Miracle
我目前正在尝试在 Python 中构建我的正则表达式,奇怪的是,我的正则表达式只能捕获第一个被大写的整个单词。
测试字符串:Everyday HOLDS the poSSibility Of A Miracle
我的正则表达式: ^([A-Z])?([a-z])+
捕获: Everyday
我在这里想念什么?
解决方案
不要将正则表达式锚定在字符串的开头,而是使用边界检查:
import re
s = 'Everyday HOLDS the poSSibility Of A Miracle'
new_s = ' '.join(re.findall(r'\b[A-Z][a-z]+|\b[A-Z]\b', s))
输出:
'Everyday Of A Miracle'
推荐阅读
- node.js - NodeJS:尝试导入模块时出现“意外的标识符”
- javascript - 使用 Ajax 刷新表数据在 django 中不起作用
- arrays - 从 Ajax Post 请求中查找对象数组及其属性
- node.js - 如何获取 IPP 端点
- javascript - 用Javascript折叠底栏
- node.js - 升级 node.js 全局包时,npm 会查看哪个文件?
- python - 如何在 Python 2.7 UDP 套接字中创建序列号和 ACK
- python - 难以正确显示 PyQt GUI 元素
- python-3.x - 想要从单词列表中提取大写和小写字母
- amazon-mws - 从 mws 获取估计的 Kindle 销量