Bash字符串处理(与Java对照) - 8.计算字符串长度
Bash字符串处理(与Java对照) - 8.计算字符串长度In Java取字符数量
一个汉字算1个字符。
int len = s.length();
?
格式2:expr match "$STR" ".*"
11
[root@jfht ~]# expr match "$STR" ".*"
11
?
用wc命令取字符串长度使用wc命令也可以实现字符串长度计算。
格式1:wc -c <<<"$STR"
比实际的字节数多1,会多输出一个换行,等同于 echo "$STR" | wc -c 而不是下面这个
格式2:echo -n "$STR" | wc -c
上面是计算字节数,如果是中文的话,每个中文为2个字节(当LANG=zh_CN.GB18030)。
格式3:wc -m <<<"$STR"
比实际的字符数多1,会多输出一个换行,等同于 echo "$STR" | wc -m 而不是下面这个
格式4:echo -n "$STR" | wc -m
上面是计算字符数,与${#STR}相同,每个汉字是按1个字符计算。
9
[root@jfht ~]# wc -m <<<"$STR"
10
[root@jfht ~]# echo -n "$STR" | wc -m
9
[root@jfht ~]# STR=今年是2011年
[root@jfht ~]# echo ${#STR}
8
[root@jfht ~]# wc -c <<<"$STR"?
13
[root@jfht ~]# echo -n "$STR" | wc -c
12
[root@jfht ~]# wc -m <<<"$STR"
9
[root@jfht ~]# echo -n "$STR" | wc -m
8
[root@jfht ~]# STR="Hello World"
[root@jfht ~]# echo ${#STR}
11
[root@jfht ~]# wc -c <<<"$STR"
12
[root@jfht ~]# echo -n "$STR" | wc -c
11
[root@jfht ~]# wc -m <<<"$STR"
12
[root@jfht ~]# echo -n "$STR" | wc -m
11
?
、
本文链接:http://codingstandards.iteye.com/blog/1173125? (转载请注明出处)
返回目录:Java程序员的Bash实用指南系列之字符串处理(目录)?
上节内容:Bash字符串处理(与Java对照) - 7.字符串与默认值
下节内容:Bash字符串处理(与Java对照) - 9.获取字符串指定位置的字符、遍历字符串中的字符
?
?