标题: [文本处理] 这种文本如何用批处理转换 [打印本页]
作者: netdzb 时间: 2021-1-3 10: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
我的第一感就是黑棋这样挖
作者: netdzb 时间: 2021-1-3 11:19
回复 1# netdzb
前面的正则可以这样写吗?
^[0-9][0-9]\:[0-9][0-9]\:[0-9][0-9]\.[0-9][0-9][0-9]
感觉写的挺啰嗦的啊
作者: ivor 时间: 2021-1-3 12:12
- (^[\d:\.]+)\s+(^[\d:\.]+)
复制代码
替换为复制代码
作者: netdzb 时间: 2021-1-3 12:19
回复 3# ivor
\s+表示什么意思啊?
作者: wxyz0001 时间: 2021-5-5 13:43
本帖最后由 wxyz0001 于 2021-5-5 13:47 编辑
- $srt=Get-Content .\字幕a.txt
- $srt|ForEach-Object{
- #转换序号
- $j=$_.ReadCount/4
- #每次处理4行
- if(($_.ReadCount+4)%4 -eq 0){
- #格式化4行
- "{0}`n{1} --> {2}`n{3}`n" -f $j ,$srt[$_.ReadCount -4],$srt[$_.ReadCount -3],$srt[$_.ReadCount -2]
- }
- }|Set-Content .\字幕b.txt
复制代码
作者: Gin_Q 时间: 2021-5-5 15:11
他干啥了。被禁止发言了?
作者: wxyz0001 时间: 2021-5-5 15:32
回复 6# Gin_Q
他只是没来吧,可能他问题已经解决了
作者: 1152 时间: 2021-5-5 21:13
回复 6# Gin_Q
被误会了呗。还在360问答发 被版主误会了怎么办?
作者: WHY 时间: 2021-5-5 21:52
翻翻这位仁兄的历史贴就知道了,
标题大多数都是违规的;
几乎没有一个帖子是"已解决"的;
几乎没有一句对给予他帮助的人表示谢意的;
对回复者最起码的尊重都没有;
大有一副"姜太公钓鱼愿者上钩"的味道。
作者: wxyz0001 时间: 2021-5-30 16:58
回复 5# wxyz0001
Python代码- with open('E:\\news\\字幕.txt', 'r', encoding='gbk') as f:
- file = f.readlines()
- str_ = ""
- for i in range(0, len(file), 4):
- str_ += '{0}\n{1} --> {2}{3}\n'.format(str(int((i + 4) / 4)), file[i].strip('\n'), file[i+1], file[i+2])
- with open('E:\\news\\字幕b.txt', 'w', encoding='gbk') as ff:
- ff.write(str_)
复制代码
作者: netdzb 时间: 2021-5-30 18:28
回复 9# WHY
我知道我有的地方做的不够好,我会慢慢改掉的。
请论坛能够接纳我,也能在这个平台和大家交流吧。
作者: netdzb 时间: 2021-5-30 18:30
回复 10# wxyz0001
我很久没有写python代码,我去研究一下代码。
谢谢你。
作者: netdzb 时间: 2021-5-30 18:32
回复 6# Gin_Q
我回归论坛了,很高兴和大家交流。
作者: qixiaobin0715 时间: 2021-5-31 06:26
回复 12# netdzb
那么,平时你都是写什么呢
作者: qixiaobin0715 时间: 2021-5-31 11:16
- @echo off
- set /a n=0,x=1
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('findstr /n .* test.txt') do (
- set "str=%%a"
- set "str=!str:*:=!"
- set /a n+=1
- set /a "m=(n-1)%%4+1"
- if !m!==1 (
- echo,!x!
- set /a x+=1
- set "var=!str!"
- ) else if !m!==2 (
- echo,!var!--^>!str!
- ) else (
- echo,!str!
- )
- )
- pause
复制代码
作者: netdzb 时间: 2021-5-31 12:39
回复 14# qixiaobin0715
我最近在学javascript,正在一点点的啃。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |