ulib: strops: ajout des opération mid et repl
This commit is contained in:
parent
8d486dc4e3
commit
d735b7b695
|
@ -126,7 +126,7 @@ function strops() {
|
||||||
# :- := :? :+ deref dcount
|
# :- := :? :+ deref dcount
|
||||||
# Toutes les autres opérations travaillent directement avec la valeur
|
# Toutes les autres opérations travaillent directement avec la valeur
|
||||||
# courante. Les opérations suivantes appliquent une transformation:
|
# courante. Les opérations suivantes appliquent une transformation:
|
||||||
# # % / : ^ , +# -# +% -% + -
|
# # % / : ^ , +# -# +% -% + - mid repl
|
||||||
# Les opérations suivantes font un test sur la valeur et retournent
|
# Les opérations suivantes font un test sur la valeur et retournent
|
||||||
# immédiatement:
|
# immédiatement:
|
||||||
# = == != < > -eq -ne -lt -le -gt -ge -n -z
|
# = == != < > -eq -ne -lt -le -gt -ge -n -z
|
||||||
|
@ -140,6 +140,8 @@ function strops() {
|
||||||
# -#STR supprimer un préfixe
|
# -#STR supprimer un préfixe
|
||||||
# +%STR ou +STR ajouter un suffixe
|
# +%STR ou +STR ajouter un suffixe
|
||||||
# -%STR ou -STR supprimer un suffixe
|
# -%STR ou -STR supprimer un suffixe
|
||||||
|
# mid RANGE traiter la chaine avec strmid()
|
||||||
|
# repl FROM TO traiter la chaine avec strrepl()
|
||||||
local -a __s_tmp
|
local -a __s_tmp
|
||||||
local __s_value="$1"; shift
|
local __s_value="$1"; shift
|
||||||
while [ $# -gt 0 ]; do
|
while [ $# -gt 0 ]; do
|
||||||
|
@ -164,6 +166,9 @@ function strops() {
|
||||||
+*) eval '__s_value="$__s_value"'"${1#+}";;
|
+*) eval '__s_value="$__s_value"'"${1#+}";;
|
||||||
-%*) eval '__s_value="${__s_value'"${1#-}"'}"';;
|
-%*) eval '__s_value="${__s_value'"${1#-}"'}"';;
|
||||||
-*) eval '__s_value="${__s_value%'"${1#-}"'}"';;
|
-*) eval '__s_value="${__s_value%'"${1#-}"'}"';;
|
||||||
|
mid|strmid) eval '__s_value="$(strmid "$2" "$__s_value")"'; shift;;
|
||||||
|
repl|strrepl) eval '__s_value="$(strrepl "$2" "$3" "$__s_value")"'; shift; shift;;
|
||||||
|
*) echo 1>&2 "strops: unknown operator: $1";;
|
||||||
esac
|
esac
|
||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
|
Loading…
Reference in New Issue