中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-07 23:33
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]中英文混合字符串如何计算长度? 查看 921 回复 14
楼 主 [求助]中英文混合字符串如何计算长度? 发表于 2008-04-03 20:29 ·  中国 浙江 杭州 华数宽带
初级用户
积分 20
发帖 8
注册 2008-03-27 17:31
18年会员
UID 114199
性别 男
状态 离线
如果一个字符串既有中文又有英文,想计算字符串长度,要求一个中文文字长度加2,英文或其他符号长度加1

谁知道怎么写?

谢谢
2 发表于 2008-04-03 20:35 ·  中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278
发帖 1,020
注册 2007-11-19 13:34
18年会员
UID 103127
性别 男
状态 离线
我签名里的搜索有---"字符 长度"
有两种发法,一种生成临时文件的,一种不生成.
山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
3 发表于 2008-04-03 20:36 ·  中国 浙江 杭州 华数宽带
初级用户
积分 20
发帖 8
注册 2008-03-27 17:31
18年会员
UID 114199
性别 男
状态 离线
谢谢,我去学习一下
4 发表于 2008-04-03 23:45 ·  中国 广东 珠海 电信
初级用户
★★
积分 97
发帖 51
注册 2008-03-19 15:26
18年会员
UID 113404
性别 男
状态 离线
set str=取字符串长度abc123
for /f "skip=1 delims=:" %%a in ('^(echo/"%str%"^&echo.^)^|findstr /o ".*"') do set /a length=%%a-5
echo %length%


[ Last edited by Shinaterry on 2008-4-3 at 11:48 PM ]
5 发表于 2008-04-03 23:51 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
@echo off
set str=s取l字 符?串长度aobc1r2e3
echo %str%>len.txt
for %%i in (len.txt) do echo %%~zi
pause>nul
6 发表于 2008-04-04 00:22 ·  中国 浙江 杭州 华数
初级用户
积分 20
发帖 8
注册 2008-03-27 17:31
18年会员
UID 114199
性别 男
状态 离线
试了一下,用findstr有点慢
用5楼的好是挺好,就是多了一个临时文件

有没有两全齐美的方法?
7 发表于 2008-04-04 00:31 ·  中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278
发帖 1,020
注册 2007-11-19 13:34
18年会员
UID 103127
性别 男
状态 离线
VBS好像有个什么函数,只是我不怎么懂
山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
8 发表于 2008-04-04 00:40 ·  中国 广东 珠海 电信
初级用户
★★
积分 97
发帖 51
注册 2008-03-19 15:26
18年会员
UID 113404
性别 男
状态 离线
len.vbs

MsgBox(Len("取字符串长度abc123"))
9 发表于 2008-04-04 00:44 ·  中国 广东 珠海 电信
初级用户
★★
积分 97
发帖 51
注册 2008-03-19 15:26
18年会员
UID 113404
性别 男
状态 离线
ref: 5L修正..

echo 取字符串长度abc123>len.txt
for %%i in (len.txt) do echo %%~zi
del len.txt
10 发表于 2008-04-04 00:46 ·  中国 广东 珠海 电信
初级用户
★★
积分 97
发帖 51
注册 2008-03-19 15:26
18年会员
UID 113404
性别 男
状态 离线
^ō^ 方法很多, 但亦只是"鱼与熊掌"..
11 发表于 2008-04-04 11:44 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
len取的是字符个数。

可以利用ASCII判断中/西文符号
12 发表于 2008-04-04 12:05 ·  中国 浙江 杭州 华数
初级用户
积分 20
发帖 8
注册 2008-03-27 17:31
18年会员
UID 114199
性别 男
状态 离线
就是不想用vbs,只用批处理进行
批处理里面可以嵌入vbs?
13 发表于 2008-04-04 12:10 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
可以调用。。。

那就用我那个吧,临时文件怎么了?最后删除就是了。速度还是第一位的。
14 发表于 2008-04-04 12:14 ·  中国 浙江 杭州 华数
初级用户
积分 20
发帖 8
注册 2008-03-27 17:31
18年会员
UID 114199
性别 男
状态 离线
嗯,好的,谢谢了,那就用那个速度快的
15 发表于 2008-04-07 19:16 ·  中国 甘肃 兰州 电信
初级用户
积分 47
发帖 31
注册 2008-03-17 19:04
18年会员
UID 113236
性别 男
状态 离线
可以调用。。。
论坛跳转: