sostituzioni di stringhe: tutte le occorrenze


13

Una domanda semplice, ma non riesco a trovare la risposta. la documentazione di zsh mi travolge :-(

function z ()
{
  echo ${1:s/the/THE}
}

$ z thethethe
THEthethe

...

Come posso sostituire tutti i "the" con "THE", non solo con la prima occorrenza? Con zsh sono le cose più semplici che sembrano essere le più difficili da trovare esempi.

Risposte:



6

Questo dovrebbe fare il lavoro:

VARIABLE=thethethe
echo ${VARIABLE//the/THE}
THETHETHE

3

Ecco, doveva essere semplice:

echo ${1//the/THE}

... lo fa la doppia barra e non puoi scherzare con ": s"

A proposito, vorrei sicuramente ringraziare i siti 'StackExchange' per esistenti. Di tutti i miliardi di posti in cui si potrebbe porre una domanda, questi sono di gran lunga i migliori - non solo si ottengono quasi sempre risposte, ma quelle risposte sono invariabilmente della massima qualità.


1

// funziona perfettamente se stai solo cercando di sostituire una parola specifica con tutte le maiuscole, lasciando intatto il resto. Se stai provando a convertire tutto in maiuscolo, puoi usare ": u" sulla variabile

SOME_ENV_VALUE='thethethe'
echo $SOME_ENV_VALUE:u // outputs: THETHETHE

Puoi verificare quali modificatori sono disponibili nel manuale di espansione e sostituzione zsh

man zshexpn
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.