ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

每日10行代码126:用正则表达式批量去掉中书的注释

2021-03-22 16:57:40  阅读:207  来源: 互联网

标签:10 f2 中书 126 re 心便 译文 六卿 target


今天在看传习录时,发现一个电子版里面有译文,是下面这样的:

【七一】
问:“心要逐物,如何则可?”
先生曰:“人君端拱清穆,六卿分职,天下乃治。心统五官,亦要如此。今眼要视时,心便逐在色上;耳要听时,心便逐在声上。如人君要选官时,便自去坐在吏部;要调军时,便自去坐在兵部。如此,岂惟失却君体,六卿亦皆不得其职。”
【译文】
陆澄问:“心要去追逐外物,该怎么办?”
先生说:“君主庄严肃穆,垂拱而坐,六卿各司其职,天下才能得到治理。心统摄五官,也要如此。如果眼睛要看时,心便在追逐颜色上;耳朵要听时,心便在追逐声音上。就好比君主要选任官员时,便去吏部;要调用军队时,又去兵部。如果这样,不但君主失去了君主的体统,六卿也无法各司其职。”

【七二】 “善念发而知之,而充之;恶念发而知之,而遏之。知与充与遏者,志也,天聪明也。圣人只有此,学者当存此。” 【译文】
先生所说:“善念萌发时要认识它、扩充它;恶念萌发时,要认识它、遏制它。认知、扩充、遏制,都是意志的作用,都是天所赋予的聪明才智。圣人也只是有这个意志,学者应当时刻存养这个意志。”

但我不想看译文,因为这些译文翻译的也不一定好,有可能会失去本来的意义。于是我就用python把译文去掉,代码如下:

import re,pprint
path = r'C:\Users\coon\Downloads\传习录-排版很好带注释的版本.txt'

with open(path,encoding='utf-8') as f:
    s = f.read()

    pat = r'(【译文】[\s\S]*?)【'
    result = re.findall(pat,s)
    target = s
    for i in result:
        target = target.replace(i,"\n\n")

f2 = open(r'd:\test0322.txt','w',encoding='utf-8')
f2.write(target)
f2.close()

注意:

  1. 因为我发现一般译文都 是从"【译文】“开始,到下一个”【"处结束,所以用的正则是r'(【译文】[\s\S]*?)【'
  2. re.sub不能正确指定匹配的分组,这里用时会出错,所以我用了re.findall。

标签:10,f2,中书,126,re,心便,译文,六卿,target
来源: https://blog.csdn.net/weixin_44981444/article/details/115083959

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有