标题: [文本处理] 怎样用两行批处理实现Powershell相同的拆分字符串效果 [打印本页]
作者: 5i365 时间: 2021-12-10 17:13 标题: 怎样用两行批处理实现Powershell相同的拆分字符串效果
本帖最后由 5i365 于 2021-12-10 18:42 编辑
$s= "中国-人民"
$s2=$s.ToCharArray()
上面的Powershell将一行文字打散成了多行, 并赋值给了变量$s2
怎样用两行批处理实现相同的效果
作者: 5i365 时间: 2021-12-10 18:37
本帖最后由 5i365 于 2021-12-10 18:43 编辑
下面的代码可以显示多行, 但是, 是以空格为分隔符的, 上面的字与字之间没有空格, 怎么分成多行呢?
set s=中 国 - 人 民
for %%a in (%s%) do echo %%a
作者: Batcher 时间: 2021-12-10 22:05
回复 1# 5i365 - @echo off
- setlocal enabledelayedexpansion
- set "s=中国-人民"
- :loop
- echo,!s:~0,1!
- set s=!s:~1!
- if "!s!" neq "" (
- goto :loop
- ) else (
- pause
- goto :eof
- )
复制代码
作者: 5i365 时间: 2021-12-10 22:33
本帖最后由 5i365 于 2021-12-10 22:35 编辑
回复 3# Batcher
感谢支招, 水平有限, 看不太懂,
for in 比较好理解, 但为啥没有分隔符就拆不了呢?
感觉还有更简单, 能否先给字后加空格然后再拆?
作者: Batcher 时间: 2021-12-11 16:11
sed命令实现这个功能比较简单
http://bcn.bathome.net/s/tool/index.html?key=sed- echo 中国-人民|sed "s/./&\n/g" >2.txt
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |