doing 发表于 2019-3-4 22:18:25

正则匹配有人会吗?(已解决)

本帖最后由 doing 于 2019-3-4 23:45 编辑

记事本里格式是:
25612----寒日气----男----上海----29----本科
45466----值得----男----山东----23----本科
56756----输合----男----河南----26----本科
67456----七维影----男----广东----28----本科
95676----冷心为王----男----江苏----22----本科
......


想把每行的第一个----替换成AAAA,第二个----替换成BBBB,第三个----替换成CCCC,第四个----替换成DDDD


用什么软件该怎么弄?本人菜鸟,希望大佬直接贴出命令,万分感谢
handshake.gif

handshake.gif

handshake.gif




==============

几种方法我都试了,都完美可行,非常感谢。可惜也不能设置悬赏啥的,每次白提问都有点不好意思

laofanne 发表于 2019-3-4 23:37:17

贴excel里,文本导入向导,以-号分割,再替换列

walkman660 发表于 2019-3-4 23:28:54

notepad++或者其他支持正则的文本编辑器
查找模式:正则表达式

查找:
({4,})----([\u4e00-\u9fa5]{1,})----([\u4e00-\u9fa5]{1})----([\u4e00-\u9fa5]{2,})----({2,})----([\u4e00-\u9fa5]{2,})
替换为:
$1AAAA$2BBBB$3CCCC$4DDDD$5EEEE$6FFFF

结果:
25612AAAA寒日气BBBB男CCCC上海DDDD29EEEE本科FFFF
45466AAAA值得BBBB男CCCC山东DDDD23EEEE本科FFFF
56756AAAA输合BBBB男CCCC河南DDDD26EEEE本科FFFF
67456AAAA七维影BBBB男CCCC广东DDDD28EEEE本科FFFF
95676AAAA冷心为王BBBB男CCCC江苏DDDD22EEEE本科FFFF

kanaier 发表于 2019-3-4 22:57:17

python写的:
f = open('/Users/apple/Desktop/test.txt', 'r')    # 打开文件
datas = f.readlines()
for data in datas:
    lists = data.split("----")
    datafi = ""
    for i,li in enumerate(lists):
      print(i)
      if i == len(lists)-1: #看是不是最后一个
            datafi +='----'+lists
      elif i == 0:
            datafi += li+'AAAA'
      elif i == 1:
            datafi += li+'BBBB'
      elif i == 2:
            datafi += li+'CCCC'
      elif i == 3:
            datafi += li+'DDDD'
    f_new = open('/Users/apple/Desktop/testnew.txt','a')
    f_new.write(datafi)
f_new.close()
f.close()


结果:
25612AAAA寒日气BBBB男CCCC上海DDDD----本科
45466AAAA值得BBBB男CCCC山东DDDD----本科
56756AAAA输合BBBB男CCCC河南DDDD----本科
67456AAAA七维影BBBB男CCCC广东DDDD----本科
95676AAAA冷心为王BBBB男CCCC江苏DDDD----本科

fall 发表于 2019-3-4 23:00:28

每行.split("----") 然后abcde迭代

三思而后折腾 发表于 2019-3-4 23:08:08

bash 代码,

源文件名为 old,处理后的文件名为 new

[*]cat old | while read line
[*]do
[*]    echo $line | sed 's/----/AAAA/' | sed 's/----/BBBB/' | sed 's/----/CCCC/' | sed 's/----/DDDD/' | sed 's/----/EEEE/' >> new
[*]done
[*]复制代码

结果
[*]25612AAAA寒日气BBBB男CCCC上海DDDD29EEEE本科
[*]45466AAAA值得BBBB男CCCC山东DDDD23EEEE本科
[*]56756AAAA输合BBBB男CCCC河南DDDD26EEEE本科
[*]67456AAAA七维影BBBB男CCCC广东DDDD28EEEE本科
[*]95676AAAA冷心为王BBBB男CCCC江苏DDDD22EEEE本科复制代码

lzhd24 发表于 2019-3-4 23:33:36

大佬们是各显神通啊
011.gif

Lous 发表于 2019-3-4 23:34:48

本帖最后由 574722031 于 2019-3-4 23:46 编辑

大文本推荐 EmEditor , notepad++容易卡死
^(\d+)----(\w+)----(\w+)----(\w+)----(\d+)----(\w+)$
替换
\1AAAA\2BBBB\3CCCC\4DDDD\5EEEE\6
页: [1]
查看完整版本: 正则匹配有人会吗?(已解决)