给出一段不规范的英文,只包含字母、空格“ ”、逗号“,”、句号“.”,每个句子以句号“.”结尾。要求调整所有英文字母的大小写,使其满足规范:每个句子首字母大写,字母I单独写出时(两侧均为空格或标点)大写,其余字母全部小写。
3条回答 默认 最新
- sum墨 2023-04-18 14:05关注
用正则来写
import re def normalize_text(text): # 将不规范的英文按句号分割成若干个句子 sentences = re.split(r'(?<=.)s+', text) result = [] for sentence in sentences: # 将句子中的所有字母转换成小写字母 sentence = sentence.lower() # 利用正则表达式匹配句子中的单词,判断每个单词是否为"I" sentence = re.sub(r'(i)', lambda x: x.group(1).upper() if re.search(r'(^W|i$)', x.string[x.start()-1:x.end()+1]) else x.group(1), sentence) # 将句子的首字母转换成大写字母 sentence = sentence.capitalize() result.append(sentence) # 将处理过的句子重新拼接成一个字符串,以句号分隔每个句子 return '. '.join(result) # 测试代码 text = "this is a test. i have a cat. she is cute." print(normalize_text(text)) # 输出:This is a test. I have a cat. She is cute.
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 用ns3仿真出5G核心网网元
- ¥15 matlab答疑 关于海上风电的爬坡事件检测
- ¥88 python部署量化回测异常问题
- ¥30 酬劳2w元求合作写文章
- ¥15 在现有系统基础上增加功能
- ¥15 远程桌面文档内容复制粘贴,格式会变化
- ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
- ¥15 这种微信登录授权 谁可以做啊
- ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
- ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”