一、構造字串
直接構造
str_zero=hello
str_first="i am a string"
str_second='success'
重複多次
#repeat the first parm($1) by $2 times
strrepeat()
舉例:str_repeat=`strrepeat "$user_name" 3`
echo "repeat = $str_repeat"
二、賦值與拷貝
直接賦值
與構造字串一樣
user_name=terry
從變數賦值
aliase_name=$user_name
三、聯接
直接聯接兩個字串
str_temp=`printf "%s%s" "$str_zero" "$user_name"`
使用printf可以進行更複雜的聯接
四、求長
求字元數(char)
count_char=`echo "$str_first" | wc -m`
echo $count_char
求位元組數(byte)
count_byte=`echo "$str_first" | wc -c`
echo $count_byte
求字數(word)
count_word=`echo "$str_first" | wc -w`
echo $count_word
五、比較
相等比較
str1 = str2
不等比較
str1 != str2
舉例:if [ "$user_name" = "terry" ]; then
echo "i am terry"
fi小於比較
#return 0 if the two string is equal, return 1 if $1 < $2, else 2strcompare()
六、測試
判空-z str
判非空-n str
是否為數字
# return 0 if the string is num, otherwise 1
strisnum()
舉例:if [ -n "$user_name" ]; then
echo "my name is not empty"
fiecho `strisnum "9980"`
七、分割
以符號+為準,將字元分割為左右兩部分
使用sed
舉例:命令 date --rfc-3339 seconds 的輸出為
2007-04-14 15:09:47+08:00
取其+左邊的部分
date --rfc-3339 seconds | sed 's/+[0-9][0-9]:[0-9][0-9]//g'
輸出為2007-04-14 15:09:47
取+右邊的部分
date --rfc-3339 seconds | sed 's/.*+//g'
輸出為08:00
以空格為分割符的字串分割
使用awk
舉例:str_fruit="banana 0.89 100"
取第3欄位
echo $str_fruit | awk ''
八、子字串
字串1是否為字串2的子字串
# return 0 is $1 is substring of $2, otherwise 1
strissubstring()
string字串常用處理方法
tolower 得到字串的小寫形式,由於字串是不可變的所以 這些函式不會直接修改字串內容而是把修改後的字串的值通過函式返回值的形式返回 string s s.tolower toupper 得到字串的大寫形式 trim 去掉字串兩端空白 s1.equals s2,stringcomparison.o...
iOS字串NSString常用處理方法
ios字串常用處理方法 1.根據起始位置和長度進行字串擷取 substringwithrange 方法說明 nsstring substringwithrange nsrange arange 其中關於 nsrange 的生成方式 nsrange nsmakerange nsuinteger loc...
Go字串常用處理
應用到strings包 author jadeshu description file main version 1.0.0 date 2019 11 7 1 01 package main import fmt strconv strings func main fmt.println strin...