如何替换文本中满足条件的换行符? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
1746855469
V2EX    程序员

如何替换文本中满足条件的换行符?

  •  
  •   1746855469 2023-06-30 06:51:39 +08:00 2038 次点击
    这是一个创建于 834 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有一个英语单词的文本文件想导入欧路词典,但欧路不支持一词多行。文件的格式如下:

    ability,n. 能力,能耐;才能 able,adj. 能; 有能力的;能干的 about,"prep. 关于;大约 n. 大致;粗枝大叶;不拘小节的人 adj. 在附近的;四处走动的;在起作用的 adv. 大约;周围;到处" above,"prep. 超过;在……上面;在……之上 n. 上文 adj. 上文的 adv. 在上面;在上文" accident,n. 事故;意外; 意外事件;机遇 accurate,adj. 精确的 ache,"n. 疼痛 vi. 疼痛;渴望" activity,n. 活动;行动;活跃 actor,n. 男演员;行动者;作用物 actress,n. 女演员 actually,adv. 实际上;事实上 

    想请问,有什么简单的办法,能把解释中带引号"的单词( about, above, ache )的换行符换成空格,合并到一行里?最好能用现成的软件解决,必须要用到脚本的话,不知能不能赏下完整能跑的代码。

    先行谢过。

    15 条回复    2023-06-30 15:51:55 +08:00
    sun1719
        1
    sun1719  
       2023-06-30 07:17:09 +08:00
    word ,通配符替换
    nopdan
        2
    nopdan  
       2023-06-30 07:37:11 +08:00
    nopdan
        3
    nopdan  
       2023-06-30 07:38:33 +08:00
    ![Snipaste_2023-06-30_07-35-56.png]( https://s2.loli.net/2023/06/30/3ifVQ8jwLn4ONmk.png)
    4641585
        4
    4641585  
       2023-06-30 07:51:36 +08:00
    用正则把引号之后的第一个换行符删掉,循环跑到没变化就完事了。
    ho121
        5
    ho121  
       2023-06-30 07:59:40 +08:00 via Android
    这个看起来很像 csv ,导入 Excel 然后删除换行再保存
    junyee
        6
    junyee  
       2023-06-30 08:22:35 +08:00
    看起来引号新起的一行都是以单词加小数点开头.
    以 notepad2 为例可以这样(不含引号):


    1: [勾]正则表达式搜索:
    "^([a-z]+\.)" -> "++++\1"

    2: [勾]转义反斜线
    "\r\n++++" -> ""

    "\n++++" -> ""
    ispinfx
        7
    ispinfx  
       2023-06-30 08:24:11 +08:00 via iPhone
    一眼 csv
    18xlX5iTe9mdoau0
        8
    18xlX5iTe9mdoau0  
       2023-06-30 08:27:03 +08:00
    其实完全可以换个思路,让 ChatGPT 帮你实现
    https://s1.locimg.com/2023/06/30/bc3de4c474938.png
    tramm
        9
    tramm  
       2023-06-30 08:27:48 +08:00
    专业的事情还是让专业的人来

    你不理财, 财不离你
    nuk
        10
    nuk  
       2023-06-30 08:38:50 +08:00
    awk '/".+/,/"$/{printf "%s ",$0}'
    nuk
        11
    nuk  
       2023-06-30 08:46:29 +08:00   1
    忘了打印没匹配到了的,按照原义匹配:
    awk '/".+/,/"$/{if ($0 !~ /"$/) {printf "%s ",$0; next;}} {print $0}'
    csrocks
        12
    csrocks  
       2023-06-30 09:34:50 +08:00
    freedomSky
        13
    freedomSky  
       2023-06-30 09:47:01 +08:00
    $ sed ':a /".*[^"]$/{N;s/\n/ /g; ta}' data

    ability,n. 能力,能耐;才能
    able,adj. 能; 有能力的;能干的
    about,"prep. 关于;大约 n. 大致;粗枝大叶;不拘小节的人 adj. 在附近的;四处走动的;在起作用的 adv. 大约;周围;到处"
    above,"prep. 超过;在……上面;在……之上 n. 上文 adj. 上文的 adv. 在上面;在上文"
    accident,n. 事故;意外; 意外事件;机遇
    accurate,adj. 精确的
    activity,n. 活动;行动;活跃
    actor,n. 男演员;行动者;作用物
    actress,n. 女演员
    actually,adv. 实际上;事实上
    laqow
        14
    laqow  
       2023-06-30 14:40:31 +08:00
    csv 如果格式没问题的话,非手动回车换行结尾是\r ,手动回车是\r\n 或\n
    toan
        15
    toan  
       2023-06-30 15:51:55 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5541 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 08:47 PVG 16:47 LAX 01:47 JFK 04:47
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86