Sostituzione di caratteri speciali con Power Automate
Può capitare, in Power Automate, di dover generare il nome di un file o di una folder partendo da un testo inserito dall'utente.
Per fare in modo che il nome folder sia valido è necessario evitare di usare alcuni caratteri speciali:
In Power Automate si possono creare degli step come questi per sostituire i caratteri speciali con, ad esempio, un "-" meno
e queste sono le formule usate
in output ottengo
Vedi anche Restrictions and limitations in OneDrive and SharePoint
Per fare in modo che il nome folder sia valido è necessario evitare di usare alcuni caratteri speciali:
Text: Caratteri speciali da non usare per i nome folder
~ # % & * { } \ : < > ? / | "
e queste sono le formule usate
Power Automate: Replace special characters
Initialize variable: VarInputWithSpechialChars=Test Alberto 13/12/2021 ? & ???
Initialize variable: VarSpecialCharsToReplace=["~", "#", "%", "&", "*", "{", "}", "\\", ":", "<", ">", "?", "/", "|", "\""]
Initialize variable: VarOutput=VarInputWithSpechialChars
Initialize variable: VarOutputTmp=
Apply to each: VarSpecialCharsToReplace=VarSpecialCharsToReplace
Set variable: VarOutTmp Replace=replace(variables('VarOutput'), item(), '-')
Set variable: VarOutput=VarOutTmp
Initialize variable: NewVarOutput=VarOutput
Da notare che non posso fare il replace sulla VarOutput e assegnare il valore a se stessa, devo passare da un altra variabile VarOutTmp e poi riassegnarlo a VarOutput .
Risultato
Passando in VarInputWithSpechialChars un testo come questoText: VarInputWithSpechialChars
Test Alberto 13/12/2021 ? & ???
Text: VarOutput
Test Alberto 13-12-2021 - - ---
Concurrency control
Quando nello step Apply to each uso Set variable compare questo warningEnable concurrency control for the apply to each loop and set its degree of parallelization to 1 when using Set Variable action inside an apply to each loop.
devo andare nei Settings, abilitare il Concurrency control e impostare Degree of parallelism a 1Vedi anche Restrictions and limitations in OneDrive and SharePoint