标题: [文本处理] 批处理怎样把拼音词库横排变竖排? [打印本页]
作者: 娜美 时间: 2024-6-26 13:24 标题: 批处理怎样把拼音词库横排变竖排?
https://wwm.lanzoul.com/iikZW22s1ryf
这是拼音词库,希望可以横排变成竖排。
在每一个字后面标上它对应拼音。Thanks哦
例:复制代码
处理后横排变竖排样式- 啊 a
- 阿 a
-
- 参 cen
- 參 cen
- 叄 cen
-
- 蹭 ceng
- 层 ceng
- 層 ceng
- 曽 ceng
- 曾 ceng
复制代码
作者: aloha20200628 时间: 2024-6-26 15:25
回复 1# 娜美 - @echo off &setlocal enabledelayedexpansion
- for /f "usebackq tokens=1-2 delims= " %%a in ("拼音词库.txt") do (call :h2v "%%b" "%%a")
- endlocal&pause&exit/b
- :h2v
- if "%~1"=="" (exit/b) else (set "s=%~1")
- (echo,!s:~,1! %~2) & (call :h2v "!s:~1!" %2)
- exit/b
复制代码
作者: 娜美 时间: 2024-6-26 15:48
本帖最后由 娜美 于 2024-6-26 15:52 编辑
回复 2# aloha20200628
试了一下拼音词库样品大概应该是26000多个字, 只得到8143行, 似乎掉了一些
作者: aloha20200628 时间: 2024-6-26 16:32
回复 3# 娜美
如果漏失的是冷僻字,系因批处默认的简中编码(ansi=gb2312)字符集容量限制...
作者: hnfeng 时间: 2024-6-26 17:37
本帖最后由 hnfeng 于 2024-6-26 17:42 编辑
回复 aloha20200628
试了一下拼音词库样品大概应该是26000多个字, 只得到8143行, 似乎掉了一些
娜美 发表于 2024-6-26 15:48
你把拼音库先分段后再试试
也可能是某些特殊的字导致的
作者: 娜美 时间: 2024-6-26 17:52
本帖最后由 娜美 于 2024-6-26 17:53 编辑
回复 4# aloha20200628
似乎不是编码问题, 似乎是行长度问题, 找了一行最长的, 似乎超过307字节丢失- yi 仡唈嶧抑椅湙瘗羛藙詣迻阤鷊一乁乂义乙亄亦亿以仪伇伊伿佁佗佚佾侇依俋倚偯儀億兿冝凒凧刈劓劮勚勩匇匜医台吚呓呭呹咦咿嗌噫囈圛圪圯坄垼埶埸墿壱壹夁夞夷奕姨媐嫕嫛嬄嬑嬟宐宜宧寱寲射尾屹峄峓崺嶬嶷已巸帟帠幆庡廙异弈弋弌弬彛彜彝彞役忆忔怈怡怿恞悒悘悥意憶懌懿扅扆扡抴拸挹捙掖掜揖撎攲攺敡敼斁施旑旖易昱昳晲晹暆曀曎曳杙杝枍枱枻柂栘栧桋棭椬椸榏槷槸檍檥檹欭欹歋歝殔殪殹毅毉汉汽沂沶治泄泆泽洂洟洢洫浂浥浳液渏渫溢溰漪潩澤澺瀷炈焈焉焱焲熙熠熤熪熼燚燡燱犄狋猗獈玴珆瑿瓵畩異疑疙疫痍痬瘞瘱癔益眙眤眱睪瞖矣硪礒祎禕秇移稦穓竩笖篒簃籎紲絏維綺緆縊繄繶繹绁绎缢羠羡羨義羿翊翌翳翼耴肄肊肔胣胰腋膉臆臺舣艗艤艺艾芅芸苅苐苡苢荑萓萟蓺薏藝蘙虉虒虵蚁蛇蛜蛡蛦蛾蜴螔螘螠蟻衣衤衪衵袂袘袣袲裔裛裿褹襼觺訑訲訳詍詒誃誒誼謚謻譩譯議讉讛议译诒诣谊豙豛豷貖貤貽賹贀贻跇跠踦軼輢轙轶辷迆迤迱陁陭隶隿雉霬靾鞥頉頤頥顊顗顡颐食飴餏饐饴饻駅驛驿骮鮧鮨鯣鳦鴺鶂鶃鶍鶎鷁鷖鷧鷾鸃鹝鹢鹥黓黝黟黳齮齸逘逸遗遺邑郼鄓酏醫醳醷释釋釔釴鈘鈠鈶鉇鉈鉯銕銥銯錡鎰鏔鐿钇铱锜镒镱阝阣
复制代码
作者: 娜美 时间: 2024-6-26 17:52
回复 5# hnfeng
应该是行长度的问题
作者: buyiyang 时间: 2024-6-26 18:06
回复 6# 娜美
是递归深度的限制
作者: hnfeng 时间: 2024-6-26 18:18
回复 hnfeng
应该是行长度的问题
娜美 发表于 2024-6-26 17:52
对头
找到原因就好解决了,修正一下源文件即可一次性得到结果
作者: aloha20200628 时间: 2024-6-26 18:50
回复 3# 娜美
改为goto句式,再试试吧...
- @echo off &setlocal enabledelayedexpansion
- for /f "usebackq tokens=1-2 delims= " %%a in ("拼音词库.txt") do (set "s=%%b"&set "p=%%a"&call :h2v)
- endlocal&pause&exit/b
- :h2v
- if "!s!"=="" (exit/b)
- (echo,!s:~,1! !p!)&set "s=!s:~1!"&(goto :h2v)
- exit/b
复制代码
作者: 娜美 时间: 2024-6-26 20:11
回复 10# aloha20200628
这次帅了 Thanks
作者: newswan 时间: 2024-6-27 21:45
powershell 简单- $file = Get-Content -Path "in.txt"
-
- $file | ForEach-Object {
- $arr = $_ -split "`t"
- $arr[1].ToCharArray() | ForEach-Object { $_ + " " + $arr[0] }
- } | out-file -Encoding "UTF8" -Path "out.txt"
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |