脚本应用之六: 字符串判断&处理函数 【 functions_string1 】

测试系统版本:CentOS 6.4

作用:脚本提供判断和处理字符串的函数,可供其他脚本调用。例如:判断字符串是否都是数字\大小写字母、字符串中字母是否为大\小写以及大小写转换和字符串包含关系判断等。

使用:脚本中调用 “./source functions_string1” 


代码专区:


#/bin/bash

#  LY
#  ------------------
#  Copyright 2016.4.14, LingYi ([email protected]) QQ:1519952564
#    "functions about strings"

#共用代码
repstrs='len_str=${#1} && [[ $len_str -eq 0 ]] && return 1'
#全数字
isdigit(){ 
	local i
	eval $repstrs
	for((i=0; i<len_str; i++))
	do 
		echo ${1:i:1} | grep -q '[0-9]' || return 1
	done
}

#全字母
isalpha(){ 
	local i
	eval $repstrs
	for((i=0; i<len_str; i++))
	do 
		echo ${1:i:1} | grep -q '[a-zA-Z]' || return 1
	done
}
#全字母数字
isalnum(){ 
	local i
	eval $repstrs
	for((i=0; i<len_str; i++))
	do 
		echo ${1:i:1} | grep -q '[0-9a-zA-Z]' || return 1
	done
}

#字母全小写
islower(){ 
	local i str
	eval $repstrs
	str=$( echo $1en_str | tr -cd 'a-zA-Z' )
	for((i=0; i<len_str; i++)); do 
		echo ${str:i:1} | grep -qw '[a-z]' || return 1
	done
}

#字母全大写
isupper(){ 
	local i str
	eval $repstrs
	str=$( echo $1en_str | tr -cd 'a-zA-Z' )
	for((i=0; i<len_str; i++))
	do 
		echo ${1:i:1} | grep -qw '[A-Z]' || return 1
	done
}

#全空格
isspace(){ 
	local i
	eval $repstrs
	for((i=0; i<len_str; i++))
	do 
		[[ "${1:i:1}" == ' ' ]] || return 1
	done
}

#小写字母转为大写
upper(){ 
	eval $repstrs
	echo $1 | tr 'a-z' 'A-Z'
}
#大写字母转为小写
lower(){ 
	eval $repstrs
	echo $1 | tr 'A-Z' 'a-z'
}
#删除字符串前后两侧的所有空格
strip(){ 
	eval $repstrs
	echo $1
}
#删除字符串中的所有空格
stripall(){ 
	eval $repstrs
	echo $1 | tr -d ' '
}

#字符串包含关系(部分包含即可)
#eg: incstr 'ab' 'ccdd' -->false
#eg: incstr 'ab' 'cabd' -->true
incstr(){ 
	[[ "${2/$1/}" == "$2" ]] && return 1
	return 0
}

#字符串包含关系(全包含,类似 grep -w )
#eg: judin 'ab' 'abc efa' -->false
#eg: judin 'ab' 'ab  efa' -->true
judin()
{
	set $@
	local judstr=$1
	shift
	while [[ $# -ne 0 ]]; do
		[[ "$1" == "$judstr" ]] && return 0
		shift
	done
	return 1
}



代码下载链接





你可能感兴趣的:(字符串,source,loca)