找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 72898|回复: 15

[文本处理] 这种文本如何用批处理转换

[复制链接]
发表于 2021-1-3 10:59:59 | 显示全部楼层 |阅读模式
00:00:00.160
00:00:03.400
今天我分享一道我做错的死活题

00:00:04.280
00:00:05.800
我看到题目的时候呢

00:00:06.120
00:00:08.600
我的第一感就是黑棋这样挖

===> 转换成这样的结果

1
00:00:00.160 --> 0:00:03.400
今天我分享一道我做错的死活题

2
00:00:04.280 --> 0:00:05.800
我看到题目的时候呢

3
00:00:06.120 --> 00:00:08.600
我的第一感就是黑棋这样挖
 楼主| 发表于 2021-1-3 11:19:12 | 显示全部楼层
回复 1# netdzb

前面的正则可以这样写吗?

^[0-9][0-9]\:[0-9][0-9]\:[0-9][0-9]\.[0-9][0-9][0-9]
感觉写的挺啰嗦的啊
发表于 2021-1-3 12:12:57 | 显示全部楼层
  1. (^[\d:\.]+)\s+(^[\d:\.]+)
复制代码
替换为
  1. $1 $2
复制代码
 楼主| 发表于 2021-1-3 12:19:34 | 显示全部楼层
回复 3# ivor

\s+表示什么意思啊?
发表于 2021-5-5 13:43:53 | 显示全部楼层
本帖最后由 wxyz0001 于 2021-5-5 13:47 编辑
  1. $srt=Get-Content .\字幕a.txt
  2. $srt|ForEach-Object{
  3.         #转换序号
  4.         $j=$_.ReadCount/4
  5.         #每次处理4行
  6.         if(($_.ReadCount+4)%4 -eq 0){
  7.                 #格式化4行
  8.                 "{0}`n{1} --> {2}`n{3}`n" -f $j ,$srt[$_.ReadCount -4],$srt[$_.ReadCount -3],$srt[$_.ReadCount -2]
  9.         }
  10. }|Set-Content .\字幕b.txt
复制代码
发表于 2021-5-5 15:11:36 | 显示全部楼层
他干啥了。被禁止发言了?
发表于 2021-5-5 15:32:38 | 显示全部楼层
回复 6# Gin_Q
他只是没来吧,可能他问题已经解决了
发表于 2021-5-5 21:13:34 | 显示全部楼层
回复 6# Gin_Q


    被误会了呗。还在360问答发 被版主误会了怎么办?
发表于 2021-5-5 21:52:26 | 显示全部楼层
翻翻这位仁兄的历史贴就知道了,
标题大多数都是违规的;
几乎没有一个帖子是"已解决"的;
几乎没有一句对给予他帮助的人表示谢意的;
对回复者最起码的尊重都没有;
大有一副"姜太公钓鱼愿者上钩"的味道。

评分

参与人数 2PB +6 技术 +1 收起 理由
Gin_Q + 1 字字珠玑!
523066680 + 6 论坛中的极品

查看全部评分

发表于 2021-5-30 16:58:46 | 显示全部楼层
回复 5# wxyz0001
Python代码
  1. with open('E:\\news\\字幕.txt', 'r', encoding='gbk') as f:
  2.     file = f.readlines()
  3.     str_ = ""
  4.     for i in range(0, len(file), 4):
  5.         str_ += '{0}\n{1} --> {2}{3}\n'.format(str(int((i + 4) / 4)), file[i].strip('\n'), file[i+1], file[i+2])
  6.     with open('E:\\news\\字幕b.txt', 'w', encoding='gbk') as ff:
  7.         ff.write(str_)
复制代码
 楼主| 发表于 2021-5-30 18:28:40 | 显示全部楼层
回复 9# WHY

我知道我有的地方做的不够好,我会慢慢改掉的。
请论坛能够接纳我,也能在这个平台和大家交流吧。
 楼主| 发表于 2021-5-30 18:30:48 | 显示全部楼层
回复 10# wxyz0001

我很久没有写python代码,我去研究一下代码。
谢谢你。
 楼主| 发表于 2021-5-30 18:32:33 | 显示全部楼层
回复 6# Gin_Q

我回归论坛了,很高兴和大家交流。
发表于 2021-5-31 06:26:46 | 显示全部楼层
回复 12# netdzb
那么,平时你都是写什么呢
发表于 2021-5-31 11:16:05 | 显示全部楼层
  1. @echo off
  2. set /a n=0,x=1
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%a in ('findstr /n .* test.txt') do (
  5.     set "str=%%a"
  6.     set "str=!str:*:=!"
  7.     set /a n+=1
  8.     set /a "m=(n-1)%%4+1"
  9.     if !m!==1 (
  10.         echo,!x!
  11.         set /a x+=1
  12.         set "var=!str!"
  13.     ) else if !m!==2 (
  14.         echo,!var!--^>!str!
  15.     ) else (
  16.         echo,!str!
  17.     )
  18. )
  19. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 18:37 , Processed in 0.036490 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表