标题: [文本处理] 提取内容,组合与合并方向的批处理,谢谢您 [打印本页]
作者: 灯塔彭于晏 时间: 2021-6-2 13:38 标题: 提取内容,组合与合并方向的批处理,谢谢您
您好,先谢谢您了。
下面的文本的第3 、 4行中,分部着一些中英日语言的词语,每个词用英文逗号隔开。
而其中有些词开头带# ,有些不带。
请帮忙提取# 开头的词,组合排列成1个新的行,插入到第2行的下面,然后删除原来的3 4行所有的内容。从而组成新的内容。
Ao - 凪白みと的插画
Ao by 凪白みと <div class="info"><p>
原创7500收藏,腋下,armed girls,#白发,swordsman
#オリジナル7500users入り,腋,#武器娘,白发,#剑士
90212924
Ao - 凪白みと的插画
Ao by 凪白みと <div class="info"><p>
原创7500收藏,腋下,armed girls,#白发,swordsman
#オリジナル7500users入り,腋,#武器娘,白发,#剑士
90212924
效果如下:- Ao - 凪白みと的插画
- Ao by 凪白みと <div class="info"><p>
- オリジナル7500users入り,武器娘,白发,剑士
- 90212924
-
- Ao - 凪白みと的插画
- Ao by 凪白みと <div class="info"><p>
- オリジナル7500users入り,武器娘,白发,剑士
- 90212924
复制代码
谢谢!!!!
作者: 灯塔彭于晏 时间: 2021-6-2 17:12
注: 并不是只有一组内容, 每组内容间隔 1个空行
作者: 灯塔彭于晏 时间: 2021-6-2 22:36
555555555
大giegie们,谢谢大giegie们了!
作者: qixiaobin0715 时间: 2021-6-2 23:40
用纯批倒是能实现,效率太低,不适合大文件。还是让大佬们来吧。
作者: 灯塔彭于晏 时间: 2021-6-2 23:52
回复 4# qixiaobin0715
5555 试试嘛。 一次也就100来组(1组5行,如文中的案例,文中那是2组。) ~
作者: qixiaobin0715 时间: 2021-6-3 06:49
本帖最后由 qixiaobin0715 于 2021-6-5 16:13 编辑
回复 5# 灯塔彭于晏
算是抛砖引玉吧,主要是效率太低了,不好意思拿出来。每行都需要进行多次判断;第3/4行每组字符也需要判断,每组字符还要用到循环,最后排序。实际上连抛砖引玉也算不上,只怕抛出土柸把玉给砸了。- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('findstr /n .* test.txt') do (
- set /a k+=1
- set /a "n=(k-1)%%7+1"
- set "str=%%i"
- set "str=!str:*:=!
- if !n! lss 3 (
- echo,!str!
- ) else if !n! gtr 4 (
- echo,!str!
- ) else (
- set m=100
- for %%j in ("!str:,=","!") do (
- set /a m+=1
- set var=%%~j
- if "!var:~,1!"=="#" set -!m!=!var:~1!
- )
- )
- if !n! equ 4 (
- for /f "tokens=1* delims==" %%a in ('set -') do (
- set "str1=!str1!,%%b"
- set %%a=
- )
- echo,!str1:~1!
- set str1=
- )
- )
- pause
复制代码
作者: netdzb 时间: 2021-6-3 08:37
本帖最后由 netdzb 于 2021-6-3 10:29 编辑
回复 6# qixiaobin0715
他每次提的问题都是处理网页的标签,别人是帮助过他,
但他水平一直没进步啊。让人看了真有点恨铁不成钢的
感觉,处理网页标签不是用批处理的啊,论坛的python
版块也有例子,perl也能处理这个问题,python我有现在
用的少,我也等看一下有没有大神贴出更好的代码。
作者: newswan 时间: 2021-6-3 09:40
本帖最后由 newswan 于 2021-6-3 09:41 编辑
- sed -n -r -e "/#/!p ; /#/ { N ; s'\n','g ; s',',,'g ; s'^|$','g ; s',[^#,]+,''g ; s',#|,$''g ; p}"
复制代码
sed 太累
还可以用 批处理+grep 或者 powershell
作者: qixiaobin0715 时间: 2021-6-3 09:40
回复 7# netdzb
伸手党(不具针对性)在论坛里确实有,但也不是没有一点作用:活跃气氛;解决问题的同时,对自己也是一种提高,教学互长吗。况且从伸手党成长起来的也不在少数。斑竹自有分寸,我们大可不必操太多的心。
作者: netdzb 时间: 2021-6-3 10:29
回复 9# qixiaobin0715
问题是他的问题描述我也没怎么看懂,我如果有时间用python试一下了,目前我在学习js。
作者: newswan 时间: 2021-6-3 10:41
回复 7# netdzb
思路是很简单,熟悉了工具就没什么难度。
主要是来练习,学习一下别人的代码,能发现自己的盲点。互相帮助是很好的。
作者: 灯塔彭于晏 时间: 2021-6-3 11:03
本帖最后由 灯塔彭于晏 于 2021-6-3 11:13 编辑
谢谢您的开放心态!作为伸手党的我,也正是从一开始就觉得这个论坛存在一帮热心助人的代码大神,从而染上了伸手白嫖的坏习惯。
不是不想学,是没时间学。
这些代码都是拿来去做另外一个网站的内容生产了。 而我这么多年和网友们维护那个网站,都是用成型了的开源,比如wordpress,比如宝塔,比如各种奇怪的wp插件。都没人会代码。遇到问题除了咨询伸手,也不可能现学现卖了,那样影响效率~!
一个简单的正则能卡我们一下午,最后的都是懂代码是什么东西的几位同学,从各方拼凑出来的。 还有很多只出钱,根本不懂代码,所以我们几个同学要做的事情太多了, 就根本没有学的精力了。 日常工作完,我们还得维护这个共同的爱好到深夜2点多,能睡个好觉就挺开心的了。
我们内心也是一直很感谢大家的帮助的, 只是的确方式上不好看。 但这不影响我们感谢的心。
谢谢大家,谢谢大家。
作者: qixiaobin0715 时间: 2021-6-3 11:16
当初我也当过2年伸手党
作者: netdzb 时间: 2021-6-3 11:26
本帖最后由 netdzb 于 2021-6-3 11:29 编辑
回复 12# 灯塔彭于晏
我希望能看到你求助贴的半自动模式,我现在主题大都
是半自动模式。别人回复解决了问题,我是在进步的。
你的进步速度一直是零,看的真是让人着急。
作者: 灯塔彭于晏 时间: 2021-6-3 17:05
回复 6# qixiaobin0715
行数一多,就乱了。
比如默认是5行字为1组,有的就剩3行字了,有的却成6行了,就比较尴尬~!
是不是因为在有的组里,第3和第4行并不都有#号字符, 而代码又是每行都去检索,最后组合的时候就出现了问题?
虽然一般来说第3和第4行里,都会出现#号字符的。但也会出现只有其中1行出现#号字符的情况的。
能否帮忙解决一下?
谢谢!
作者: qixiaobin0715 时间: 2021-6-3 17:34
回复 15# 灯塔彭于晏
应当是源文件出现问题了,自己检查一下,看看是什么情况。把出问题的组发上来看看。
作者: 灯塔彭于晏 时间: 2021-6-3 17:48
回复 16# qixiaobin0715
好的。我再试试把3 4行都加上#, 试试我的这个想法是不是主要原因。如果还不行,我就发给您看看文案~
作者: newswan 时间: 2021-6-3 18:04
本帖最后由 newswan 于 2021-6-5 14:49 编辑
- $file = "asdf22.txt"
-
- [System.Collections.ArrayList]$fileC = get-content -path $file
-
- for ( $i = 0 ; $i -lt $fileC.count -1 ; $i += 1 )
- {
- if ( $fileC[$i] -match "#" )
- {
- while ( $fileC[$i+1] -match "#" )
- {
- $fileC[$i] = $fileC[$i] + "," + $fileC[$i+1]
- $fileC.removeat($i+1)
- }
- }
- }
-
- for ( $i = 0 ; $i -lt $fileC.count ; $i += 1 )
- {
- if ( $fileC[$i] -match "#" )
- {
- $m = select-string "(?<=#)[^,]+(?=,|$)" -allmatches -inputobject $fileC[$i]
- $fileC[$i] = $m.matches.value -join ","
- }
- }
-
- $fileC
复制代码
powershell 处理包含#的行,思路更简单,先合并包含#相邻的行,再处理带#的行
作者: 灯塔彭于晏 时间: 2021-6-3 18:09
回复 16# qixiaobin0715
还是错了。难道是日语的问题?
我3 4行都加入# ,最后也还是错了
http://bbp.cn-sh2.ufileos.com/asdf22.txt
还请您保存一下,谢谢。
我这边上传附件总失败。
作者: qixiaobin0715 时间: 2021-6-3 21:11
回复 19# 灯塔彭于晏
将6楼代码第5行:set /a "n=(k-1)%%6+1" 中的6改为7
数值循环是按1-6进行的,对应每组的行数。示范文本中每组为6行(包括空行),实际上是7行(包括2个空行)。所以会出问题,还是要了解一些批处理的常识,出错就会减少。
作者: netdzb 时间: 2021-6-3 21:44
回复 18# newswan
我看了半天,都没看懂他要做什么?我想测试一下你的powershell的代码了。
作者: netdzb 时间: 2021-6-3 21:55
回复 18# newswan
他的意思是如果文本没有#号就按原样打印,如果有#就打印#号的字符到“,”结束的字符,
是这个意思吗?
原来的文档是这样的
Ao - 凪白みと的插画
Ao by 凪白みと <div class="info"><p>
原创7500收藏,腋下,armed girls,#白发,swordsman
#オリジナル7500users入り,腋,#武器娘,白发,#剑士
90212924
Ao - 凪白みと的插画
Ao by 凪白みと <div class="info"><p>
原创7500收藏,腋下,armed girls,#白发,swordsman
#オリジナル7500users入り,腋,#武器娘,白发,#剑士
90212924
作者: newswan 时间: 2021-6-3 22:20
本帖最后由 newswan 于 2021-6-3 22:28 编辑
回复 22# netdzb
有#号的连续行,先合为一行,然后,按 "," 分段,去掉没#的段,有#的段去掉#
作者: WHY 时间: 2021-6-4 23:01
- $arr = gc a.txt -ReadCount 0;
- $str = '';
- [Collections.ArrayList]$res = @();
- $count = $arr.Count;
-
- for ($i=0; $i -lt $count; $i++) {
- if ($arr[$i].indexOf('#') -ge 0){
- $str += $arr[$i] + ',';
- } else {
- if ($str -ne ''){
- $str = ($str -split ',') -match '^#' -replace '^#' -join ',';
- [void]$res.Add($str);
- $str = '';
- }
- [void]$res.Add($arr[$i]);
- }
- }
-
- sc b.txt $res;
- echo 'Done';
- [Console]::ReadKey();
复制代码
作者: qixiaobin0715 时间: 2021-6-5 09:08
回复 19# 灯塔彭于晏
实际上6楼代码并不完美,有局限性:第3/4行以逗号分组的个数不能超过9个并且相等,否则会出现问题。
作者: 灯塔彭于晏 时间: 2021-6-5 13:00
回复 25# qixiaobin0715
怪不得,我昨天~一定概率的情况下又乱了。我和我的朋友都表示无能为力,也没好意思再来发贴问。既然如此,我就顺着这个思路去安排逗号的内容。谢谢给出思路,谢谢!
作者: qixiaobin0715 时间: 2021-6-5 16:15
回复 26# 灯塔彭于晏
已修改
作者: 灯塔彭于晏 时间: 2021-6-5 21:34
回复 24# WHY
您好,WHY大哥哥,您的代码一直效率很高。不知道能不能额外咨询一个功能的代码?
现有文件夹 A ,里面有约200张图片,图片名字的格式为: xxxx_p0 【xxxx是纯数字】。图片的格式为JPG 和 PNG 都有。
请问能否用JS的形式,跑一遍所有图片的分辨率,然后把【宽度大于 1700px ,高度大于1000px】的图片的完整名字(如 xxxx_p0.jpg/png ) ,以列表的形式输出到桌面的新文本 C.TXT中。
如:
12334_p0.jpg
2345_p0.png
1223_p0.jpg
……
谢谢您了。
作者: 灯塔彭于晏 时间: 2021-6-5 23:16
本帖最后由 灯塔彭于晏 于 2021-6-5 23:18 编辑
回复 27# qixiaobin0715
哈哈哈,谢谢~ ~ ~
再帮我一下下吧,谢谢。 现在的代码输出完结果后,会变成下面的结果:- 少女 祢豆子 - Vardan的[%]插画
- <div class="tip2"><div class="good2pic">系统警告 : 祢豆子使出了水之呼吸<p><p>#版权由 Dreamy商家 拥有 禁止商业用途 <div class="user-info"><div class="user-icon" style=" background-image:url('https://baidu.com/touxiang/20578368_7ebce48918498a5bef3b5cffb36d4261_170.jpg')"></div><div class="description"><div class="user-name submit-comment">[Pixiv]Vardanの作品 - P站ID:4346254</div></div></div></div></div><div class="info"><p>少女 祢豆子 - Vardan的插画 ~ Pixiv ArtWorks Id:75102802 ~ 分辨率:@@</p></div><p><img src="https://baidu.com/small/75102802.jpg"/></p>
- , , 祢豆子队士 , 日本刀 , 灶门祢豆子 , 鬼灭之刃 , 同人, 涂鸦 , 女孩, 少女,
- 75102802
-
-
- 原神 来一份冷肉拼盘 - 芒果猫Official的[%]插画
- <div class="tip2"><div class="good2pic">No.022<p>来一份冷肉拼盘<p>蔚蓝的天空,宁静的午后,<p>在蒙德的鹿猎人落座,荧犹豫着菜单上一个个菜名<p>香肠、火腿和培根,究竟哪个更美味?<p>精选各部位的兽肉绞碎成肉糜,<p>再精心调和制成的香肠无疑是肉食者的福音,<p>但是风干得恰到好处,纤维分明的火腿也让人欲罢不能。<p>油脂丰厚,让人食指大动的培根,<p>更是能为任何菜肴增色如果同样的问题也困扰着身为肉食者的你,<p>猎鹿人的冷肉拼盘就是完美的答案<p>派蒙留着口水说到:旅行者来一份冷肉拼盘吧。<p>荧:貌似主厨有事今天的厨师是来帮忙打工的香菱。<p>派蒙:啊香菱吗?派蒙有点担心。<p>荧:只是冷菜应该没什么问题吧,可以再来一杯果汁。<p>派蒙:派蒙赞同<p>派蒙:今天那个红色的家伙好像去林子里转悠了呢。不知道在想什么鬼点子。<p>荧:红色的家伙?哦你是说可莉吧,她和我说想去奔狼领串门了说说是找雷泽借秘密道具。<p>香菱:来啦来啦冷肉拼盘和果汁,我把肉都捏一起了吃起来口感保证很好。<p>派蒙:啊这 <div class="user-info"><div class="user-icon" style=" background-image:url('https://baidu.com/touxiang/20160870_9df887d2fd92b07200c1d38da8bb76d6_170.jpg')"></div><div class="description"><div class="user-name submit-comment">[Pixiv]芒果猫Officialの作品 - P站ID:40551423</div></div></div></div></div><div class="info"><p>原神 来一份冷肉拼盘 - 芒果猫Official的插画 ~ Pixiv ArtWorks Id:85612639 ~ 分辨率:@@</p></div><p><img src="https://baidu.com/small/85612639.jpg"/></p>
- , 派蒙 ,原神 , , 女孩, 长筒靴 , 背景, 同人, 少女, 荧,原神 , 原神 ,
- 85612639
-
-
- 黒发 2019/12/06 - sunhyunそんひょん的[%]插画
- <div class="tip2"><div class="good2pic">主页:twitter.com/sunhyun3715<p>3406 <div class="user-info"><div class="user-icon" style=" background-image:url('https://baidu.com/touxiang/15655575_45d9176d993097d12f900deb40a40ea6_170.jpg')"></div><div class="description"><div class="user-name submit-comment">[Pixiv]sunhyunそんひょんの作品 - P站ID:29362997</div></div></div></div></div><div class="info"><p>黒发 2019/12/06 - sunhyunそんひょん的插画 ~ Pixiv ArtWorks Id:78156644 ~ 分辨率:@@</p></div><p><img src="https://baidu.com/small/78156644.jpg"/></p>
- , 一年 , 萌袖 , 少女 , 女孩, 女高中生 , 黑发 ,
- 78156644
复制代码
在每组的第一行处,有一个[%]的位置。
我们现在再标记一些#号字,这次是每组的第3行中,只会有1个#号字符。比如:- 少女 祢豆子 - Vardan的[%]插画
- <div class="tip2"><div class="good2pic">系统警告 : 祢豆子使出了水之呼吸<p><p>#版权由 Dreamy商家 拥有 禁止商业用途 <div class="user-info"><div class="user-icon" style=" background-image:url('https://baidu.com/touxiang/20578368_7ebce48918498a5bef3b5cffb36d4261_170.jpg')"></div><div class="description"><div class="user-name submit-comment">[Pixiv]Vardanの作品 - P站ID:4346254</div></div></div></div></div><div class="info"><p>少女 祢豆子 - Vardan的插画 ~ Pixiv ArtWorks Id:75102802 ~ 分辨率:@@</p></div><p><img src="https://baidu.com/small/75102802.jpg"/></p>
- , , 祢豆子队士 , 日本刀 , #灶门祢豆子 , 鬼灭之刃 , 同人, 涂鸦 , 女孩, 少女,
- 75102802
复制代码
请问。怎么样把#号标记的词,复制到[%]处,而#号词不会消失(相当于复制)。但#号会消失。
谢谢~效果如下:- 少女 祢豆子 - Vardan的灶门祢豆子插画
- <div class="tip2"><div class="good2pic">系统警告 : 祢豆子使出了水之呼吸<p><p>#版权由 Dreamy商家 拥有 禁止商业用途 <div class="user-info"><div class="user-icon" style=" background-image:url('https://baidu.com/touxiang/20578368_7ebce48918498a5bef3b5cffb36d4261_170.jpg')"></div><div class="description"><div class="user-name submit-comment">[Pixiv]Vardanの作品 - P站ID:4346254</div></div></div></div></div><div class="info"><p>少女 祢豆子 - Vardan的插画 ~ Pixiv ArtWorks Id:75102802 ~ 分辨率:@@</p></div><p><img src="https://baidu.com/small/75102802.jpg"/></p>
- , , 祢豆子队士 , 日本刀 , 灶门祢豆子 , 鬼灭之刃 , 同人, 涂鸦 , 女孩, 少女,
- 75102802
复制代码
表达能力有限,我可以再编辑~!
作者: 灯塔彭于晏 时间: 2021-6-6 16:03
回复 27# qixiaobin0715 - Shine - wlop的[@@]啊
- <div class="tip2"><div class="goodbobopic">Shine by wlop <div class="user-info">
- , 狮子 , #身体链 , 美女和野兽, 赤脚 ,
- 86261514
- 11月24日 - ろるあ/Rolua的[@@]啊
- <div class="tip2"><div class="goodbobopic">Twitter:主页:twitter.com/Rolua_N
- , 车厢内 , 光影 , #巴士 , 水手服 , 女高中生 ,
- 71820780
- 海边の大** - 兎ipoi的[@@]啊
- <div class="tip2"><div class="goodbobopic">海边の大** by 兎ipoi
- , Virtual YouTuber 10000+ 收藏 , #泳装 , 百鬼绫目 ,
- 83751980
- Recital - RH/お仕事募集中的[@@]啊
- <div class="tip2"><div class="goodbobopic">Recital by RH/お仕事募集中
- , 白色连衣裙 , 蝴蝶 , #女孩 ,
- 75393724
复制代码
请帮帮忙, 上面是4组内容(每组4行,每组之间没有空行)。 每组内容中的第三行,有一个词是被#标记的。 请将每组内容中的#号词,复制到每组内容的第一行中的 [@@]处。
但被标记的#号词 并不消失。但#号会消失。
谢谢
作者: 灯塔彭于晏 时间: 2021-6-6 18:42 标题: 【已解决】 求助特定字符复制到指定位置的代码。 谢谢WHY
本帖最后由 灯塔彭于晏 于 2021-6-6 19:23 编辑
请帮帮忙, 下面是4组内容(实际会有很多组。 每组4行,每组之间没有空行)。 每组内容中的第三行,有一个词是被#标记的。 请将每组内容中#与英文逗号之间的词,复制到每组内容的第一行中的 [@@]处。
被标记的#号词中的#号会消失。- Shine - wlop的[@@]啊
- <div class="tip2"><div class="goodbobopic">Shine by wlop <div class="user-info">
- , 狮子 , #身体链 , 美女和野兽, 赤脚 ,
- 86261514
- 11月24日 - ろるあ/Rolua的[@@]啊
- <div class="tip2"><div class="goodbobopic">Twitter:主页:twitter.com/Rolua_N
- , 车厢内 , 光影 , #巴士 , 水手服 , 女高中生 ,
- 71820780
- 海边の大** - 兎ipoi的[@@]啊
- <div class="tip2"><div class="goodbobopic">海边の大** by 兎ipoi
- , Virtual YouTuber 10000+ 收藏 , #泳装 , 百鬼绫目 ,
- 83751980
- Recital - RH/お仕事募集中的[@@]啊
- <div class="tip2"><div class="goodbobopic">Recital by RH/お仕事募集中
- , 白色连衣裙 , 蝴蝶 , #女孩 ,
- 75393724
复制代码
举一个例子,如下:
Shine - wlop的身体链啊
<div class="tip2"><div class="goodbobopic">Shine by wlop <div class="user-info">
, 狮子 , 身体链 , 美女和野兽, 赤脚 ,
86261514
……
很久以前在论坛里求过一段代码,一直拿来用在相似的场景。- @echo off
- setlocal enabledelayedexpansion
- (for /f "delims=" %%i in (b.txt) do (
- set "s=%%i"
- if "!s:>#<=!" NEQ "!s!" (
- set /p "n="
- for %%j in ("!n!") do set "s=!s:>#<=>%%~j<!"
- )
- echo;!s!
- )) < a.txt
- pause
复制代码
其他场景里都可以把2个文本的内容,按顺序依次插入到符号里。 但今天,是每个位置都插入全部的内容。
所以来请大哥哥们帮忙一下。
谢谢了。
作者: 灯塔彭于晏 时间: 2021-6-6 18:42
【第三行的每个 , 逗号之间,会存在空格】
作者: WHY 时间: 2021-6-6 19:00
回复 28# 灯塔彭于晏 - var srcDir = 'E:\\Test\\IMG'; //存放照片的文件夹路径
- var arr = [];
-
- var fso = new ActiveXObject('Scripting.FileSystemObject');
- var img = new ActiveXObject('WIA.ImageFile');
- var e = new Enumerator(fso.GetFolder(srcDir).Files);
-
- for (;!e.atEnd();e.moveNext()) {
- var file = e.item().Path;
- if (!/\.(?:jpg|png)$/i.test(file)) continue;
- img.LoadFile(file);
- var w = 1 * img.Width;
- var h = 1 * img.Height;
- if (w > 1700 && h > 1000) arr.push(e.item().Name);
- }
-
- var wshShell = new ActiveXObject('WScript.Shell');
- var listFile = wshShell.SpecialFolders('Desktop') + '\\c.txt'; //文件列表
- fso.OpentextFile(listFile, 2, true).WriteLine(arr.join('\r\n'));
-
- WSH.Echo('Done');
复制代码
作者: WHY 时间: 2021-6-6 19:03
本帖最后由 WHY 于 2021-6-6 19:10 编辑
回复 30# 灯塔彭于晏 - var srcFile = '1.txt'; //源文件名
- var dstFile = '2.txt'; //目标文件名
-
- var fso = new ActiveXObject('Scripting.FileSystemObject');
- var str = fso.OpentextFile(srcFile, 1).ReadAll();
- str = str.replace(/\[@@\]([^#]+)#(\S+)/g, '$2$1$2');
- fso.OpentextFile(dstFile, 2, true).Write(str);
-
- WSH.Echo('Done')
复制代码
作者: 灯塔彭于晏 时间: 2021-6-7 11:11
本帖最后由 灯塔彭于晏 于 2021-6-7 11:13 编辑
回复 34# WHY
请问,如果- , 车厢内 , 光影 , #巴士 , 水手服 , 女高中生 ,
复制代码
中的 # 和 巴士 之间有空格,在抓取时能自动忽略掉空格吗?
比如:- , 车厢内 , 光影 , # 巴士 , 水手服 , 女高中生 ,
复制代码
,这样也会识别出 巴士 字样。
现在有空格并不会识别出文字!
其次,是如果文字后面紧跟一个逗号,比如复制代码
而不是复制代码
那么这个逗号也会被识别。能否给取消掉?
--- 邪恶分割线 ---
需要改代码的哪个部分呢?谢谢!
谢谢!谢谢!
作者: WHY 时间: 2021-6-7 12:38
本帖最后由 WHY 于 2021-6-7 12:43 编辑
回复 35# 灯塔彭于晏 - str = str.replace(/\[@@\]([^#]+)# *([^,]*\S)(?= *,)/g, '$2$1$2');
复制代码
作者: 灯塔彭于晏 时间: 2021-7-11 12:23
回复 34# WHY
您好,WHY,根据您之前的代码,能否再加上一个条件。 源代码如下:- var srcFile = 'charu2.txt'; //源文件名
- var dstFile = 'wanjie.txt'; //目标文件名
-
- var fso = new ActiveXObject('Scripting.FileSystemObject');
- var str = fso.OpentextFile(srcFile, 1).ReadAll();
- str = str.replace(/\[@@\]([^#]+)# *([^,]*\S)(?= *,)/g, '$2$1$2');
- fso.OpentextFile(dstFile, 2, true).Write(str);
复制代码
内容模板如下:(之前是提取#号次到1个[@@]中。 现在又额外添加了2处[@@]位置。 想实现效果如末尾。- Shine - wlop的[@@]啊
- <div class="tip2"><div class="good1">Shine by wlop [@@] 。无敌的 [@@] <div class="user-info">
- , 狮子 , #身体链 , 美女和野兽, 赤脚 ,
- 86261514
- 11月24日 - ろるあ/Rolua的[@@]啊
- <div class="tip2"><div class="good1">Twitter:主 [@@] 。无敌的 [@@]页:twitter.com/Rolua_N
- , 车厢内 , 光影 , #巴士 , 水手服 , 女高中生 ,
- 71820780
- 海边の大** - 兎ipoi的[@@]啊
- <div class="tip2"><div class="good1">海边の大** by [@@] 。无敌的 [@@]兎ipoi
- , Virtual YouTuber 10000+ 收藏 , #泳装 , 百鬼绫目 ,
- 83751980
- Recital - RH/お仕事募集中的[@@]啊
- <div class="tip2"><div class="good1">Recital by RH/お仕事募集 [@@] 中 , 。无敌的 [@@]
- , 白色连衣裙 , 蝴蝶 , #女孩 ,
- 75393724
复制代码
- Shine - wlop的身体链啊
- <div class="tip2"><div class="good1">Shine by wlop 身体链。无敌的 身体链 <div class="user-info">
- , 狮子 , #身体链 , 美女和野兽, 赤脚 ,
- 86261514
- 11月24日 - ろるあ/Rolua的巴士啊
- <div class="tip2"><div class="good1">Twitter:主 巴士 。无敌的巴士页:twitter.com/Rolua_N
- , 车厢内 , 光影 , #巴士 , 水手服 , 女高中生 ,
- 71820780
- 海边の大** - 兎ipoi的泳装啊
- <div class="tip2"><div class="good1">海边の大** by泳装 。无敌的 泳装兎ipoi
- , Virtual YouTuber 10000+ 收藏 , #泳装 , 百鬼绫目 ,
- 83751980
- Recital - RH/お仕事募集中的女孩啊
- <div class="tip2"><div class="good1">Recital by RH/お仕事募集 女孩中 , 。无敌的 女孩
- , 白色连衣裙 , 蝴蝶 , #女孩 ,
- 75393724
复制代码
1个词对应3个位置,谢谢您啦。 周末愉快!
作者: WHY 时间: 2021-7-12 23:13
回复 37# 灯塔彭于晏 - var srcFile = '1.txt'; //源文件名
- var dstFile = '2.txt'; //目标文件名
-
- var fso = new ActiveXObject('Scripting.FileSystemObject');
- var str = fso.OpenTextFile(srcFile, 1).ReadAll();
- str = str.replace(
- /([^#]+)# *([^\r\n,]+?)(?= *,)/g,
- function(s0, s1, s2){
- s1 = s1.replace(/\[@@\]/g, s2);
- return s1 + s2;
- }
- )
-
- fso.OpenTextFile(dstFile, 2, true).Write(str);
复制代码
作者: 灯塔彭于晏 时间: 2021-7-17 00:28
回复 38# WHY
您好WHY,又来骚扰了。 周末愉快!
有一段代码,如下:
共有4组内容,每组内容有6行。 在第5行中,会出现被#号标记的词。 - Shine - wlop的[@@]啊
- <div class="tip2"><div class="good1">Shine by wlop [@@] 。无敌的 [@@] <div class="user-info">
- [@@]
- 个
- , 狮子 , #身体链 , 美女和野兽, 赤脚 ,
- 86261514
- 11月24日 - ろるあ/Rolua的[@@]啊
- <div class="tip2"><div class="good1">Twitter:主 [@@] 。无敌的 [@@]页:twitter.com/Rolua_N
- [@@]
- 发
- , 车厢内 , 光影 , #巴士 , 水手服 , 女高中生 ,
- 71820780
- 海边の大** - 兎ipoi的[@@]啊
- <div class="tip2"><div class="good1">海边の大** by [@@] 。无敌的 [@@]兎ipoi
- [@@]
- 的
- , Virtual YouTuber 10000+ 收藏 , 泳装 , 百鬼绫目 ,
- 83751980
- Recital - RH/お仕事募集中的[@@]啊
- <div class="tip2"><div class="good1">Recital by RH/お仕事募集 [@@] 中 , 。无敌的 [@@]
- [@@]
- 是
- , 白色连衣裙 , 蝴蝶 , #女孩 ,
- 75393724
复制代码
如何用JS的形式,检测出第3组中没有#号词,并在桌面文本1.txt中列出具体的所在行数。 如上面的案例,会在1.txt中写1个17 。
如果存在多个,依次排列写出。
谢谢您啦。
作者: WHY 时间: 2021-7-18 10:35
回复 39# 灯塔彭于晏 - var srcFile = 'E:\\Test\\a.txt'; //源文件路径
- var dstFile = new ActiveXObject('WScript.Shell').SpecialFolders('Desktop') + '\\1.txt'; //目标文件路径
-
- var arr = [], i = 0;
- var fso = new ActiveXObject('Scripting.FileSystemObject');
- var objFile = fso.OpenTextFile(srcFile, 1);
-
- while (!objFile.AtEndOfStream){
- var s = objFile.ReadLine();
- if ( ++i % 6 == 5 && s.indexOf('#') < 0 ) arr.push(i);
- }
-
- fso.OpenTextFile(dstFile, 2, true).Write(arr.join('\r\n'));
复制代码
作者: cmd1152 时间: 2021-7-18 13:02
回复 13# qixiaobin0715
什么是伸手党
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |