• # Solution

    Posté par . En réponse au message Transformer une chaine de caractères en bash. Évalué à 2.

    J'imagine que ce n'est pas ce qu'il y a de plus élégant mais voici la fonction que j'ai écrite

    function format() {
     name=1ドル
     text=""
     number=""
     for i in $(seq 1 ${#name}); do
     #si c'est du texte (et pas un chiffre), on garde
     if [[ ${name:i-1:1} = *[[:ascii:]]* && ${name:i-1:1} != *[[:digit:]]* ]]; then
     text="${text}${name:i-1:1}"
     fi
     #si c'est un chiffre, on garde
     if [[ ${name:i-1:1} = *[[:digit:]]* ]]; then
     number="${number}${name:i-1:1}"
     fi
     done
     echo "${text}-${number}"
    }