Board logo

标题: [文本处理] 如何判断输入的字符串的长度 [打印本页]

作者: zcy85611    时间: 2009-1-16 09:38     标题: 如何判断输入的字符串的长度

比如输入123456,如何才能判断出输入的字符有多少个?
请大家提供一下思路~~代码暂时不用写出来
作者: rat    时间: 2009-1-16 09:50

从左到右挨个儿取字符串的一个字符,并累加计数,如果"字符"=="",表示上次取的是最后一个字符,则计数终止
作者: Batcher    时间: 2009-1-16 12:45

本论坛搜索“长度”
作者: zcy85611    时间: 2009-1-17 21:58

  1. @echo off & setlocal EnableDelayedExpansion
  2. set /p var=请输入字符:
  3. for /l %%a in (1 1 100) do (
  4. if "!var:~0,%%a!"=="!var!" (
  5. echo %%a
  6. goto eof)
  7. )
  8. :eof
  9. pause
复制代码

这两天没有上论坛,今天突然一下自己考虑到的想法,试了一下,成功了。不过还是有些问题。我用的这个算法,必须规定for /l的长度,比如我给出的代码里面是100。不知道有没有其他的方法可以不受长度的限制。

另一个问题,如果我把for /l的代码改成这样,那么结果就会出错,想请教一下为什么这样会出错
  1. for /l %%a in (1 1 100) do (
  2. set /a n=%%a
  3. if "!var:~0,!n!!"=="!var!" (
  4. echo %%a
  5. goto eof)
  6. )
  7. :eof
  8. pause
复制代码

作者: Batcher    时间: 2009-1-17 22:31     标题: 回复 4楼 的帖子

不知道有没有其他的方法可以不受长度的限制。

参考3楼




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2