免费注册 查看新帖 |

Chinaunix

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

其他一些字符串截取方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-08-20 23:06 |只看该作者 |倒序浏览
本帖最后由 xiaopan3322 于 2010-08-23 21:27 编辑

看了这篇文章“怎么截取全文件名的扩张子”之后才发的这个贴(这个“扩张子”的说法真让我长见识了,嘿嘿)。。。
当然啦,字符串截取可以用sed,cut啥啊啥的,
不过除了这些,还有其他一些方法(我指的是第II部分的):
e.g:
I:Linux shell 截取字符变量的前5位,有方法如下:
1.expr substr “$a” 1 8
2.echo $a | awk ‘{print substr(,1,}’
3.echo $a | cut -c1-8
4.echo $
5.expr $a : ‘\(.\\).*’
6.echo $a | dd bs=1 count=8 2>/dev/null
......
......


II:
除了上面的,还有按指定的字符串截取:
1,
${varible##*string}     ---   从左向右截取最后一个string后的字符串
${varible#*string}       ---   从左向右截取第一个string后的字符串
${varible%%string*}   ---   从右向左截取最后一个string后的字符串
${varible%string*}      ---   从右向左截取第一个string后的字符串
“*”只是一个通配符可以不要
2,
${varible:n1:n2}:        ---   截取变量varible从n1到n2之间的字符串。
个人认为这种方法在处理字符上面非常之简便且有用。

可能以上的一些方法大家都知道,所以我也懒得写示例了,大家自己去试吧。

论坛徽章:
0
2 [报告]
发表于 2010-08-20 23:09 |只看该作者
  1. 1.expr str “$a” 1 8
  2. 2.echo $a | awk ‘{print str(,1,8)}’
复制代码
这两个估计不行

论坛徽章:
0
3 [报告]
发表于 2010-08-20 23:14 |只看该作者
回复 2# bbgg1983


    sorry,
是substr
嘿嘿

论坛徽章:
0
4 [报告]
发表于 2010-08-20 23:15 |只看该作者
回复 1# xiaopan3322


    expr我用的不多。。学习了、、

论坛徽章:
1
水瓶座
日期:2013-11-04 13:16:13
5 [报告]
发表于 2010-08-23 17:40 |只看该作者
好贴 学习了

论坛徽章:
0
6 [报告]
发表于 2010-09-25 17:51 |只看该作者
回复 1# xiaopan3322


学习了~~

论坛徽章:
3
天秤座
日期:2013-12-27 13:44:58射手座
日期:2014-05-22 16:52:43天蝎座
日期:2014-08-13 16:03:21
7 [报告]
发表于 2011-01-27 11:43 |只看该作者
haha
学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP