免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5684 | 回复: 10
打印 上一主题 下一主题

判断一个字符串中的字符全是数字还是全是字符。。。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-07-10 13:51 |只看该作者 |倒序浏览
接受输入的字符串,想判断出这个字符串中的字符全是数字,还是全是字符,怎么做??

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2003-07-10 14:31 |只看该作者

判断一个字符串中的字符全是数字还是全是字符。。。

字符串
  1. read a
  2. [ -n  `echo $a|sed -n '/^[[:alpha:]]\{1,\}$/p'` ] && echo $a is string
复制代码

数字串
  1. read a
  2. [ -n  `echo $a|sed -n '/^[[:digit:]]\{1,\}$/p'` ] && echo $a is number
复制代码

论坛徽章:
0
3 [报告]
发表于 2003-07-10 17:10 |只看该作者

判断一个字符串中的字符全是数字还是全是字符。。。

[ -n  `echo $a|sed -n '/^[[]]\{1,\}$/p'` ] && echo $a is string

这是什么意思??特别是那个-n

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2003-07-10 17:31 |只看该作者

判断一个字符串中的字符全是数字还是全是字符。。。

  1. shell字符串操作包括:
  2. string1 = string2 ????  如果string1等于string2就为真
  3. string1 != string2 ???     如果string1不等于string2就为真
  4. -z string???????? 如果string的长度为0就为真
  5. -n string???????? 如果string的长度为非零就为真
复制代码

[ -n `echo $a|sed -n '/^[[]]\{1,\}$/p'` ] && echo $a is string
如果$a是由字母组成('/^[[]]\{1,\}$/--仅由字母组成)的串则显示$a is string

论坛徽章:
0
5 [报告]
发表于 2003-07-10 21:06 |只看该作者

判断一个字符串中的字符全是数字还是全是字符。。。

谢谢。我想知道
sed '/匹配模式{}/',这种语法中的{}是什么意思,写在里面的语句实现什么功能?

论坛徽章:
0
6 [报告]
发表于 2003-07-10 21:19 |只看该作者

判断一个字符串中的字符全是数字还是全是字符。。。

这样是不是可以呢?
  1. #!/bin/ksh
  2. #
  3. var=$(echo "$1 + 1 "|bc 2>&1 )
  4. if [[ $var > 1 ]]
  5. then
  6. echo $1 是数字型变量
  7. else
  8. echo $1 是字符型变量
  9. fi
复制代码

论坛徽章:
0
7 [报告]
发表于 2003-07-10 21:29 |只看该作者

判断一个字符串中的字符全是数字还是全是字符。。。

another way, but use perl

  1. echo "234" | perl -e 'while(<STDIN>) {if(/^[\d]+$/) {print "num:$_\n";} if(/^[a-zA-Z]+$/) {print "word:$_\n";}}'
复制代码

论坛徽章:
0
8 [报告]
发表于 2003-07-11 07:57 |只看该作者

判断一个字符串中的字符全是数字还是全是字符。。。

原帖由 "ohwww" 发表:
谢谢。我想知道
sed '/匹配模式{}/',这种语法中的{}是什么意思,写在里面的语句实现什么功能?
   

那个是定量匹配的意思,你可以在里边加数字进行匹配
{1}匹配一次
{1,}匹配一次以上

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
9 [报告]
发表于 2003-07-11 08:05 |只看该作者

判断一个字符串中的字符全是数字还是全是字符。。。

  1. p a t t e r n \ { n \ } 只用来匹配前面p a t t e r n出现次数。n为次数
  2. p a t t e r n \ { n,\ } m 只含义同上,但次数最少为n
  3. p a t t e r n \ { n,m \ } 只含义同上,但p a t t e r n出现次数在n与m之间
复制代码

论坛徽章:
0
10 [报告]
发表于 2003-07-11 08:15 |只看该作者

判断一个字符串中的字符全是数字还是全是字符。。。

谢谢,懂了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP