标题: [文本处理] [已解决]批处理怎样按规律截取字符串? [打印本页]
作者: wjrawlinson 时间: 2015-10-20 19:08 标题: [已解决]批处理怎样按规律截取字符串?
本帖最后由 wjrawlinson 于 2015-10-21 16:37 编辑
特殊字符串按规律截取,如下:
字符串 1.2.3.6.1.21.10.102 ,每一个字符串可能长度不一样,但是就是这种形式,每次截取 去掉最后一个数字,如下
第一次截取后为 1.2.3.6.1.21.10.
第二次截取后为 1.2.3.6.1.21.
第三次截取后为 1.2.3.6.1.
求大神指点明津,不甚感激~~~~~
作者: pcl_test 时间: 2015-10-20 19:19
本帖最后由 pcl_test 于 2015-10-20 22:24 编辑
勿发无意义的标题- @echo off
- set str=1.2.3.6.1.21.10.102
- :0
- for %%a in (%str%) do (
- echo;%%~na.
- set str=%%~na
- )
- echo;%str%|find ".">nul&&goto :0
- pause
复制代码
作者: wjrawlinson 时间: 2015-10-20 20:07
回复 2# pcl_test
非常感谢你的帮助,我运行了你提供的脚本结果如下:
1.2.3.6.1.21.10
1.2.3.6.1.21
1.2.3.6.1
1.2.3.6
1.2.3
1.2
1
而我想要的结果是
1.2.3.6.1.21.10.
1.2.3.6.1.21.
1.2.3.6.1.
1.2.3.6.
1.2.3.
1.2.
1.
作者: pcl_test 时间: 2015-10-20 20:30
本帖最后由 pcl_test 于 2015-10-20 22:25 编辑
回复 3# wjrawlinson
2楼已改
请按版规发帖,重新修改顶楼的标题,勿发无意义的标题
作者: wjrawlinson 时间: 2015-10-20 20:32
回复 4# pcl_test
好的
作者: wankoilz 时间: 2015-10-20 20:36
回复 5# wjrawlinson
兄弟你的标题太随意了!
作者: wjrawlinson 时间: 2015-10-20 20:37
不好意思,我已经重新发了,多多包含,以后我会注意的。
作者: pcl_test 时间: 2015-10-20 21:04
回复 7# wjrawlinson
新人须知,本版规则
1、求助时,务必在顶楼一次性把问题交代清楚,建议给出完整有针对性的样本或图示,样本过大可发网盘分享链接。勿发无意义的标题
2、使用 code 标记把代码部分括起来(单击回复框的 <> 按钮,复制粘贴代码进去),以便复制。问题解决后,请编辑顶楼帖子在标题前面注明[已解决]http://www.bathome.net/thread-3473-1-1.html
3、提问前先使用论坛搜索,勿发同类贴、重复贴
作者: 依山居 时间: 2015-10-20 22:41
我用python练手- w="1.2.3.6.1.21.10.102"
- #以.切分字符转成列表
- l=w.split(".")
- print("这是python列表:",l)
- p="."
- #保持循环
- while True:
- if len(l)>1:
- #弹出列表最后一位
- l.pop()
- #用.拼接转回字符串
- s=p.join(l)+p
- print(s)
- else:
- break
-
-
复制代码
- 这是python列表: ['1', '2', '3', '6', '1', '21', '10', '102']
- 1.2.3.6.1.21.10.
- 1.2.3.6.1.21.
- 1.2.3.6.1.
- 1.2.3.6.
- 1.2.3.
- 1.2.
- 1.
复制代码
作者: CrLf 时间: 2015-10-20 23:00
我用 bat 练练手- @echo off&setlocal enabledelayedexpansion
- set "w=1.2.3.6.1.21.10.102"
- for %%a in (%w:.= %) do (
- for %%b in ("!w!") do if .%%~xb neq . set w=%%~nb.&echo;!w!
- )
- pause
复制代码
作者: CrLf 时间: 2015-10-20 23:03
再用 js 练练手- var w="1.2.3.6.1.21.10.102"
- ar=w.split('.')
- w.replace(/\./g,function(a){ar.pop(),WSH.Echo(ar.join('.')+'.')})
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |