Perl 字符串截取函数substr
2017-07-16 14:45
1906 查看
这个时候通常会使用substr函数实现这个功能。
函数参数:
substr(待截取字符串,截取起始位置,截取终了位置);
view plaincopy to clipboardprint?
$str="testtest";
print substr($str,0,5);
$str="testtest";
print substr($str,0,5);
运行上面的程序,输出结果"testt",这个是我们想要的结果。再看看下面的程序:
view plaincopy to clipboardprint?
$str="测试文本";
print substr($str,0,1);
$str="测试文本";
print substr($str,0,1);
这时候输出了一个"?",这显然不是我们想要的结果。因为在perl中,所有从外部输入的字符串(包括写在程序里的字符串)都会当成字节来处理,"print substr($str,0,1);"这句话只是把"测试文本"的第一个字节取出来,并且用print输出,然而单个字节是不能表示一个中文字符的,所以就输出了"?"。
如果想要上面的程序输出正确的结果,就需要使用decode函数把"测试文本"转换成perl内部字符串,让perl把"测试文本"当成字符串来处理,这样再用"substr($str,0,1);"截取的就不是一个字节,而是一个汉字。
view plaincopy to clipboardprint?
use Encode;
$str=decode('gbk',"测试文本");
print encode('gbk',substr($str,0,1));
use Encode;
$str=decode('gbk',"测试文本");
print encode('gbk',substr($str,0,1));
相关文章推荐
- Perl 字符串截取函数substr
- js字符串截取函数slice()、substring()、substr()
- IE6和IE8下对js字符串截取函数substr兼容性问题
- JavaScript截取字符串的Slice、Substring、Substr函数详解和比较
- Oracle的substr函数简单用法 substr(字符串,截取开始位置,截取长度
- js字符串截取函数slice()、substring()、substr()
- oracle字符串截取函数substr
- JavaScript截取字符串的Slice、Substring、Substr函数详解和比较
- js字符串截取函数substr substring slice使用对比
- js字符串截取函数slice、substring和substr的比较
- dedecms 的cn_substr_utf8字符串截取函数商榷
- js字符串截取函数slice()、substring()、substr()
- php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
- JavaScript中字符串截取函数slice()、substring()、substr()
- js字符串截取函数slice()、substring()、substr()
- 字符串截取函数substr()
- 中英文字符串截取函数msubstr
- JS之字符串截取函数substr
- php截取中文字符串长度的mb_substr()、mb_strcut()函数 附strlen/mb_strlen
- js字符串截取函数slice()、substring()、substr()