这几天用python搜索与分割一些涉及到字符的工作,发现别人的文本中,有时候输入的是英文标点符号,有时候输入的是中文符号,那么,我们程序要处理之前,肯定就要先区分一下,最简单的就是把标点符号统一换成一种的,比如,全部是英文的逗号等,这样以英文逗号分割,就木有问题了;
标点符号,其实来来去去就那么几个常用的,我X度了一下,网上教的,总是搞什么分割了,逐个字符拆分啦,五花八门,太深奥了,或者很多人直接就是只针对一个逗号搞一大段,其实方法很简单,那就是:
(1)如果你想要英文标点符号,那就把中文全部替换成英文就OK了;
(2)如果你想要中文标点符号,那就把英文全部替换成中文就OK了;
是不是很简单?喂,先不要打我的头,代码实现也是超级简单了,如果只是光说不练,你再打我,代码如下:
#==================code start===================
def ExchangeChar(strIn,IsChinese=False):
ChineseChar=[',','!','。',':'] #中文标点符号大概是15种
EnglishChar=[',','!','.',':'] #要互换的英文标点符号,与上面的中文列表一 一对应哦
strIn2=str(strIn)
for i in range(0,len(EnglishChar)):
if IsChinese==True: #英文换成中文
strIn2=strIn2.replace(EnglishChar[i],ChineseChar[i])
else:
strIn2=strIn2.replace(ChineseChar[i],EnglishChar[i])
return strIn2
#==================code end===================
调用很简单,要英文,直接
ExchangeChar(你要处理的文本) #返回的全是英文标点符号
如果你要的是中文标点符号,那么后面加个True,就是说 IsChinese 为真
ExchangeChar(你要处理的文本,True) #返回的全是中文标点符号
这里必要的说明:
代码里有2个列表,一个是中文的标点符号,ChineseChar,另一个是英文的标点符号,要替换的需要一 一对应,你的文章需要包含哪一些,需要怎么替换,你自己加进去,我这里只是列举几个常用的,你可以任意扩展;
以点带面,举一反三,到这里,关于符号的转换你应该会了,至少思路应该是有了的。