字符串截取

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串截取相关的知识,希望对你有一定的参考价值。

输入一个 “month day year”格式的日期串,程序将处理” month”为 其英文单词的前三个字母,第一个字母大写,其余的小写。
思路:首先判断month是数字、还是单词,若是数字,则可查“数字—month”映射表(自定义case结构);若是单词,则取前三个字母,并格式化。
函数monthnoToName() 将month数字转换为month名
#!/bin/bash
monthnoToName(){
case $1 in
1)
month="Jan";;
2)
month="Feb";;
3)
month="Mar";;
4)
month="Apri";;
5)
month="May";;
6)
month="Jun";;
7)
month="Jul";;
8)
month="Aug";;
9)
month="Sep";;
10)
month="Oct";;
11)
month="Nov";;
12)
month="Dec";;
esac
}
if [ $# -ne 3 ];then
echo -n "请输入month day year"
exit 1
fi
#######################判断是否为数字,数字的话调用函数,不是就继续执行
if [ -z $(echo $1 |sed ‘s/[[:digit:]]//‘) ];then ####删除后为空
monthnoToName $1 ###则为数字,调用函数
else
month=$(echo $1 |cut -c1 |tr ‘[:lower:]‘ ‘[:upper:]‘) ####截取第一个字母,把小写改成大写
month=$month$(echo $1 |cut -c2-3 | tr ‘[:upper:]‘ ‘[:lower:]‘) ####截取第二个和第三个字母,把大写改成小写
fi
echo "$month $2 $3"
exit 0

以上是关于字符串截取的主要内容,如果未能解决你的问题,请参考以下文章

substring如何截取最后几个字符

Oracle中如何截取字符串的后10位

截取字符串

java怎么截取字符串?

Oracle中如何截取字符串的后10位

JS字符串截取常用方法