LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3642|回复: 6

考考你:如果确定某个特定字符在一个字串中的位置

[复制链接]
发表于 2003-12-7 15:01:44 | 显示全部楼层 |阅读模式
字符串string=qwsedrfvgtJAVALEEsdfklskdf
请问:如何知道JAVALEE在$string中的位置,(例子中他在11-17),
提示:方法N多~~ ;)
发表于 2003-12-7 17:46:08 | 显示全部楼层
很熟阿,没人顶,我帮你。呵呵~~
use index() ??
 楼主| 发表于 2003-12-7 18:33:15 | 显示全部楼层
最初由 devel 发表
很熟阿,没人顶,我帮你。呵呵~~
use index() ??

谢谢~~
方法之一:
  1. #!/bin/ksh
  2. read str?"String:"
  3. read key?"Keyword:"
  4. Bstr=$(echo $str|sed "s/${key}/ /g"|cut -f1 -d" ")
  5. Blen=${#Bstr}
  6. echo "$key is in the $str's possion:$((Blen+1))~$((Blen+${#key}))"
复制代码
提示:用wc -c也可以~~ ,欢迎跟帖~~
发表于 2004-8-8 15:48:43 | 显示全部楼层

解析一下好吗? KornLee

Blen=${#Bstr} 是什么意思?
 楼主| 发表于 2004-8-8 15:56:08 | 显示全部楼层

回复: 解析一下好吗? KornLee

最初由 cycker 发表
Blen=${#Bstr} 是什么意思?

变量Blen的长度
发表于 2004-8-10 00:27:52 | 显示全部楼层
使用match(),RSTART,RLENGTH很方便:
  1. echo 'qwsedrfvgtJAVALEEsdfklskdf'|awk '{print match($0,"JAVALEE"),RSTART,RLENGTH}'
复制代码
发表于 2004-8-10 12:53:59 | 显示全部楼层

  1. str=abcdef
  2. key=de
  3. bstr=${str%%${key}*}
  4. blen=${#bstr}
  5. echo "$key is in the $str's possion:$((blen+1))~$((blen+${#key}))"
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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