截取

linux shell 字符串操作详解 (长度,读取,替换,截取,连接,对比,删除,位置 )

孤街醉人 提交于 2019-12-18 19:23:51
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在做shell批处理程序时候,经常会涉及到字符串相关操作。有很多命令语句,如:awk,sed都可以做字符串各种操作。 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快。 一、判断读取字符串值 表达式 含义 ${var} 变量var的值, 与$var相同 ${var-DEFAULT} 如果var没有被声明, 那么就以$DEFAULT作为其值 * ${var:-DEFAULT} 如果var没有被声明, 或者其值为空, 那么就以$DEFAULT作为其值 * ${var=DEFAULT} 如果var没有被声明, 那么就以$DEFAULT作为其值 * ${var:=DEFAULT} 如果var没有被声明, 或者其值为空, 那么就以$DEFAULT作为其值 * ${var+OTHER} 如果var声明了, 那么其值就是$OTHER, 否则就为null字符串 ${var:+OTHER} 如果var被设置了, 那么其值就是$OTHER, 否则就为null字符串 ${var?ERR_MSG} 如果var没被声明, 那么就打印$ERR_MSG * ${var:?ERR_MSG} 如果var没被设置, 那么就打印$ERR_MSG * ${!varprefix*}

php函数substr、mb_substr、mb_strcut截取中文比较

旧巷老猫 提交于 2019-12-06 19:00:46
一、函数说明 substr、mb_substr、mb_strcut这三个函数都用来截取字符串,所不同的是:substr是最简单的截取,无法适应中文;mb_substr是按字来切分字符串,而mb_strcut是按字节来切分字符串,截取中文都不会产生半个字符的现象。 这三个函数的前三个参数完全一致,即: 第一个参数是操作对象 第二个参数是截取的起始位置 第三个参数是截取的数量 mb_substr和mb_strcut还有第四个参数:第四个参数可以根据不同的字符集进行设置 <?php //对待一个UTF8的中文字符是3个长度 //对待一个gbk的中文字符是2个长度 header( "content-Type:text/html;charset=utf-8" ); //设置内部编码 mb_internal_encoding( 'UTF-8' ); //测试 $cn_str = "钓鱼岛是中国的hehe" ; $en_str = "this is just a test" ; //使用substr echo substr ( $cn_str ,0,3). '<br/>' ; //钓 echo substr ( $en_str ,0,3). '<br/><br/>' ; //thi //使用mbsubstr() echo "mb_substr-3:" .mb_substr( $cn_str ,0