中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
作者:
标题: 新的删除空格问题?? 上一主题 | 下一主题
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 31 楼』:   使用 LLM 解释/回答一下


还有,再劳驾:为什么不在后面再加个 .* 形如:".*\.*" ,这样和不加有什么区别?
...

.*\ 只要符号条件就已经匹配了,所以不用管 后面是否还有内容
后面加.*意思是后面有或无内容都匹配。
但若是".*\..*" 就不一样了。表示后面至少还要有一个字符

回27楼: eol=;

Last edited by 26933062 on 2008-5-29 at 11:06 PM ]




致精致简!
2008-5-29 23:04
查看资料  发短消息  网志   编辑帖子  回复  引用回复
WANKOILZ
初级用户





积分 198
发帖 89
注册 2007-9-6
来自 重庆
状态 离线
『第 32 楼』:   使用 LLM 解释/回答一下

哦,就是,.*\[..*\] 只要符号条件就已经匹配了,想通了,非常感谢。
for /f 不是默认就忽略 ; 开头的行么。


2008-5-29 23:18
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
amio
中级用户





积分 206
发帖 93
注册 2007-8-16
状态 离线
『第 33 楼』:   使用 LLM 解释/回答一下

这样输出 为什么 [ 的空行就不会空了呢 只会吧; 和全部的空格删除
@echo off
for /f "delims=:" %%a in ('findstr /n ".*\[..*\]" a.txt') do set .%%a=a
for /f "tokens=1* delims=:" %%a in ('findstr /n .* a.txt') do (
if defined .%%a echo.
for /f "tokens=*" %%i in ("%%b") do echo.%%i>>temp.txt
)


2008-5-29 23:21
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
amio
中级用户





积分 206
发帖 93
注册 2007-8-16
状态 离线
『第 34 楼』:   使用 LLM 解释/回答一下

Originally posted by zqz0012005 at 2008-5-29 11:01 PM:
如果后面再加个 .*,则像add这样不是以]结尾的行也会匹配,而这样的行不是楼主想的要吧



侥幸吧 我修改的文件里 没有这些


2008-5-29 23:24
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
WANKOILZ
初级用户





积分 198
发帖 89
注册 2007-9-6
来自 重庆
状态 离线
『第 35 楼』:   使用 LLM 解释/回答一下

加不加 .* 都匹配[reg]add。因为.*可以是什么都没有,但..*就表示至少要有一个字符。


2008-5-29 23:28
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
amio
中级用户





积分 206
发帖 93
注册 2007-8-16
状态 离线
『第 36 楼』:   使用 LLM 解释/回答一下

希望 26933062 兄弟 在给一个完整的代码

[ ; 还有每行字符前面空格 以及除 [ 空格外 删除其他全部空格 。。。。。。。。。。。。。。。。。。。。。。。。。。。


2008-5-29 23:34
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 37 楼』:   使用 LLM 解释/回答一下

Originally posted by amio at 2008-5-29 23:34:
希望 26933062 兄弟 在给一个完整的代码


你的变化太多,解决了一个又来一个,
况且 你楼上的 简语 我看不懂。




致精致简!
2008-5-29 23:36
查看资料  发短消息  网志   编辑帖子  回复  引用回复
amio
中级用户





积分 206
发帖 93
注册 2007-8-16
状态 离线
『第 38 楼』:   使用 LLM 解释/回答一下

Originally posted by 26933062 at 2008-5-29 11:36 PM:

你的变化太多,解决了一个又来一个,
况且 你楼上的 简语 我看不懂。


@echo off
for /f "delims=:" %%a in ('findstr /n ".*\" a.txt') do set .%%a=a
for /f "tokens=1* delims=:" %%a in ('findstr /n .* a.txt') do (
if defined .%%a echo.
for /f "tokens=*" %%i in ("%%b") do echo.%%i
)

这个代码基本已经可以实现我说的了 如何输出 ?


2008-5-30 13:51
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
WANKOILZ
初级用户





积分 198
发帖 89
注册 2007-9-6
来自 重庆
状态 离线
『第 39 楼』:   使用 LLM 解释/回答一下

回楼上,晕!!
@echo off
for /f "delims=:" %%a in ('findstr /n ".*\[..*\]" a.txt') do set .%%a=a
for /f "tokens=1* delims=:" %%a in ('findstr /n .* a.txt') do (
if defined .%%a echo.>>a.txt
for /f "tokens=*" %%i in ("%%b") do echo.%%i>>a.txt
)

在echo后面加个>>就行了........


2008-5-31 12:21
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
amio
中级用户





积分 206
发帖 93
注册 2007-8-16
状态 离线
『第 40 楼』:   使用 LLM 解释/回答一下

Originally posted by WANKOILZ at 2008-5-31 12:21 PM:
回楼上,晕!!
@echo off
for /f "delims=:" %%a in ('findstr /n ".*\" a.txt') do set .%%a=a
for /f "tokens=1* delims=:" %%a in ('findstr /n .* a.txt') do (
...



我试过这样 有的功能不能都实现


2008-5-31 12:52
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
FQ
社区乞丐





积分 -61
发帖 37
注册 2008-4-19
状态 离线
『第 41 楼』:   使用 LLM 解释/回答一下

去掉左右空格:
3.txt

I am robert
what are you doing ???
oh,I teach batch

测试代码:

@echo off&setlocal
echo.处理之前:
for /f "delims=" %%a in (3.txt) do echo.
echo 处理之后:
for /f "tokens=*" %%b in (3.txt) do call:FQ "%%b"
goto:eof
:FQ
echo


2008-5-31 13:29
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: