Skip to content

Latest commit

 

History

History
78 lines (55 loc) · 1.42 KB

字符串大小写转换.md

File metadata and controls

78 lines (55 loc) · 1.42 KB

字符串大小写转换

# 将字符串转换为小写
lower() {
    # Usage: lower "string"
    printf '%s\n' "${1,,}"
}	


# 将字符串转换为大写
upper() {
    # Usage: upper "string"
    printf '%s\n' "${1^^}"
}

# 反转字符串大小写
reverse_case() {
    # Usage: reverse_case "string"
    printf '%s\n' "${1~~}"
}
----------

bash中的大小写转换:

	${PARAMETER^}
	
	${PARAMETER^^}
	
	${PARAMETER,}
	
	${PARAMETER,,}
	
	${PARAMETER~}
	
	${PARAMETER~~}

这些扩展操作符修改参数文本中字母的大小写(以"aaBB Cd"为例)。

  • ^运算符将第一个字符修改为大写;("AaBB Cd")
  • 运算符将第一个字符修改为小写;("aaBB Cd")
  • 使用双重格式(^^,,)时,将转换所有字符;("AABB CD")("aabb cd")
  • 反转字符串中每个单词的第一个字母;("AaBB cd"
  • 同时~~反转所有字符.("AAbb cD")

对数组的处理 对于数组而言,大小写转换作用于每个展开的元素,例如:

定义: array=(This is some Text)
	echo "${array[@],}"
	⇒ this is some text

	echo "${array[@],,}"
	⇒ this is some text

	echo "${array[@]^}"
	⇒ This Is Some Text

	echo "${array[@]^^}"
	⇒ THIS IS SOME TEXT

	echo "${array[2]^^}"
	⇒ SOME