用Python将字符串里的英文双引号转换成中文双引号
2011-11-09 12:37
1201 查看
一道小题,用Python将字符串里的英文双引号转换成中文双引号
要求:高效算法
输入参数:基本原则"这"是一个"测试用例",完毕
结果:基本原则“这”是一个“测试用例”,完毕
以下来自:https://gist.github.com/1350419
#---------------------------------------------------------------------------------------------------
又一答案:
来自Techparty-Python群:
-猪之哀伤- 12:53:24
要求:高效算法
输入参数:基本原则"这"是一个"测试用例",完毕
结果:基本原则“这”是一个“测试用例”,完毕
以下来自:https://gist.github.com/1350419
#!/usr/bin/env python # -*- coding: utf-8 -*- ''' Author: Feather FileName: chnquote.py Date: 11-09-2011 Description: 中文引号处理转换 ''' import operator import itertools def convert(sent): def double_quote_gen(): yield u"" while 1: yield u"“" yield u"”" assert isinstance(sent, unicode) seg = sent.split('"') if len(seg) % 2 != 1: raise RuntimeError('non-balenced quotes!') newseg = reduce(tuple.__add__, zip(double_quote_gen(), seg )) newsent = reduce(unicode.__add__, newseg) return newsent def test(msg): print "msg =>", msg print "convert(msg) =>", convert(msg) if __name__ == '__main__': test( u'基本原则"这"是一个"测试用例"' ) # test( u'测试, "这是"一"个"错误测试用例"') test( u'""""""""""""')
#---------------------------------------------------------------------------------------------------
又一答案:
来自Techparty-Python群:
-猪之哀伤- 12:53:24
>>> import itertools >>> obj = itertools.cycle(['“','”']) >>> _obj = lambda x: obj.next() >>> import re >>> before = '''基本原则"这"是一个"测试用例",完毕''' >>> print re.sub(r"['\"]", _obj, before) 基本原则“这”是一个“测试用例”,完毕
相关文章推荐
- 将String字符串的英文双引号批量转换成中文双引号
- Python如何将Unicode中文字符串转换成 string字符串
- 【4】python将翻译中文成英文,以字符串形式输出,然后改变字符串形式
- python删除所有的中文字符、非ASCII或非英文字符,检查字符串是否包含非ASCII
- python2.7.x的字符串编码到底什么鬼?(中文和英文的处理)
- python find同时含有中文和英文的字符串时返回-1问题
- Python学习笔记(三)英文字符串的大小写转换
- 把字符串中的英文双引号替换成中文
- [python] 如何将unicode字符串转换为中文
- python中从字符串中截取中文和英文字符
- python2.7字典转换成json时中文字符串变成unicode的问题:
- 【python3】统计给定字符串的中文字数、英文词数、数字个数
- python中文和unicode字符串之间的互相转换
- Python 字符串 转换 整数 浮点数 数字
- python截取中文字符串
- Python实现中文数字转换为阿拉伯数字的方法示例
- python 中文 str 以及 unicode区别和互相转换
- python中将json字符串转换为dict
- python实现有道翻译英文转中文
- 黄聪:Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)