hgx126 发表于 2023-09-19 15:15

分隔中文和数字(英文)之间添加换行符

有多个文本,内容如下,内容长度不固定,即“B-其它”后面可能还有“C-…”等等

--0-非**1-一代**2-二代**3-临时**A-军官证B-其它拟在中文和数字(英文)之间添加换行符,将"-"替换成空格。处理后文本内容为以下,内容长度不固定,即:

<div>0 非**</div><div>1 一代**</div><div>2 二代**</div><div>3 临时**</div><div>A 军官证</div><div>B 其它</div>求高手相助。

legs 发表于 2023-09-26 14:35

本帖最后由 legs 于 2023-09-26 14:41 编辑

perl -lpe's#(?:--)?([[:alnum:]]+)-([^[:alnum:]]+)#<div>\1 \2</div>#g' file

wh7211 发表于 2023-09-26 16:14

本帖最后由 wh7211 于 2023-09-26 16:28 编辑

回复 1# hgx126


cat 1
--0-非**1-一代**2-二代**3-临时**A-军官证B-其它

awk '{sub(/^--/,"");a=gensub(/(+)-([^0-9a-zA-Z]+)/,"<div>\\1 \\2</div>","g");print a}' 1
<div>0 非**</div><div>1 一代**</div><div>2 二代**</div><div>3 临时**</div><div>A 军官证</div><div>B 其它</div>
页: [1]
查看完整版本: 分隔中文和数字(英文)之间添加换行符