无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 15627|回复: 71
打印 上一主题 下一主题

[求助] 删除第N个某字符后面的所有字符

    [复制链接]
1#
发表于 2018-6-28 13:47:48 | 显示全部楼层
本帖最后由 holley2008 于 2018-6-28 13:48 编辑

你想多了...
直接把其当做一个文件名

  1. @echo off&setlocal enabledelayedexpansion
  2. set str=1245.5545.4784264-5455.65455
  3. for %%i in ("%str%") do set "newstr=%%~ni"
  4. echo %newstr%
复制代码

即可得到你要的结果。

点评

刚好凑巧分隔符是.,如果是其它字符就不行了  详情 回复 发表于 2018-6-28 13:56
回复

使用道具 举报

2#
发表于 2018-6-28 14:45:48 | 显示全部楼层
2012xb21cn 发表于 2018-6-28 13:56
刚好凑巧分隔符是.,如果是其它字符就不行了

一样类似  可以set定义.代替其它分隔符 效果最明显 不需要for或findstr查找半天。

点评

赞,这个思路不错  详情 回复 发表于 2018-6-28 15:01
回复

使用道具 举报

3#
发表于 2018-6-28 18:13:50 | 显示全部楼层
chiannet 发表于 2018-6-28 16:00
这个并不太好,比如以下字符串

16F的通用性确实好很多!
  1. @echo off&setlocal enabledelayedexpansion
  2. set str=1245.5545.4784264-5455.65455
  3. :start
  4. set last=%str:~-1,1%
  5. set str=%str:~0,-1%
  6. IF "%last%"=="."  (goto end )
  7. goto start
  8. :end
  9. echo "%str%"
  10. pause>nul
复制代码

但突然发神经,想获取第一个.号前面的字符串呢?
脑阔大!!!
回复

使用道具 举报

4#
发表于 2018-6-28 18:47:13 来自手机 | 显示全部楼层
本帖最后由 holley2008 于 2018-6-28 18:51 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. set str=1245.5545.4784264-5455.65455
  3. :start
  4. set first=%str:~0,1%
  5. set last=%str:~-1,1%
  6. set str=%str:~0,-1%
  7. set strf=%str:~1,-1%
  8. IF "%last%"=="." (goto end )
  9. IF "%first%"=="." (goto end )
  10. goto start
  11. :end
  12. echo "%str%"
  13. echo "%strf%"
  14. pause>nul
复制代码

应该可以。回家途中,回去再试试…
手机编辑巨麻烦

评分

参与人数 1无忧币 +5 收起 理由
freesoft00 + 5

查看全部评分

回复

使用道具 举报

5#
发表于 2018-6-29 07:06:17 | 显示全部楼层
dos时代菜鸟 发表于 2018-6-28 22:10
从前往后 剔除第一个 . 前面的部分
两个方法,自己选。

获取的是第一个.后面的字符串,,,我想要的是获取第一个.前面的字符串
用for比较简单
  1. for /f "tokens=1 delims=." %%a in ("%str%") do echo %%a
复制代码

但想靠set分割 来做  有点抓瞎...

点评

[attachimg]376087[/attachimg] [attachimg]376088[/attachimg]  详情 回复 发表于 2018-6-29 08:53
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-5 17:52

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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