小狐狸957 2023-04-18 14:02 采纳率: 100%
浏览 57
已结题

调整所有英文字母大小写,使满足规范

给出一段不规范的英文,只包含字母、空格“ ”、逗号“,”、句号“.”,每个句子以句号“.”结尾。要求调整所有英文字母的大小写,使其满足规范:每个句子首字母大写,字母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.
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月27日
  • 已采纳回答 4月19日
  • 创建了问题 4月18日

悬赏问题

  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”