¿Cómo agregamos un espacio en blanco dentro de la cadena en una de las listas cuya longitud de carácter específico es mayor que el formato estándar?Por ejemplo;
Columna de carácter n.° 1 en la fila n.° 1: asd 123 grados jkldjsakldjlk 1124
Si la longitud de alguna palabra dentro del valor de la celda es mayor que "5", quiero un espacio en el tercer carácter.
La forma ideal es la siguiente
Columna de carácter n.° 1 en la fila n.° 1: asd 123 deg jkl djsakldjlk 1124
gracias,
Modelado estadístico avanzadoIngeniería de Calidad y ProcesosRe: ¿Cómo agregamos un espacio en blanco dentro de la cadena en una de las listas de caracteres específicos cuya longitud es mayor que la forma estándar?No estoy seguro de si es una solución interactiva, una fórmula o una secuencia de comandos. El comando Columnas > Recodificar proporciona una rica herramienta para cambiar valores en una columna. Ver ejemplos e instrucciones para Recode aquí .
Re: ¿Cómo agregamos un espacio en blanco dentro de la cadena en una de las listas de caracteres específicos cuya longitud es mayor que la forma estándar?Aquí hay una forma de hacer lo que quieres.
Names Default To Here( 1 );
dt = Current Data Table();
For Each Row(
holdString = "";
wordNum = 1;
While( Word( wordNum, :column 1, " " ) != "",
theWord = Word( wordNum, :column 1, " " );
If( Length( theWord ) > 5,
theWord = Substr( theWord, 1, 3 ) || " " || Substr( theWord, 4 )
);
holdString = holdString || " " || theWord;
wordNum++;
);
:Column 1 = Trim( holdString );
Re: ¿Cómo agregamos un espacio en blanco dentro de la cadena en una de las listas de caracteres específicos cuya longitud es mayor que la forma estándar?Una forma sería usar Regex.
Esto podría funcionar:
Names Default To Here(1);
line = "asd 123 deg jkldjsakldjlk 1124";
span_line = Regex(line, "([a-zA-Z0-9]{3})([a-zA-Z0-9]{3,})", "\1 \2", GLOBALREPLACE);
show(span_line == "asd 123 deg jkl djsakldjlk 1124");
line = "1 22 333 4444 55555 666666 7777777 88888888 999999999 0000000000";
span_line = Regex(line, "([a-zA-Z0-9]{3})([a-zA-Z0-9]{3,})", "\1 \2", GLOBALREPLACE);
show(span_line);https://regex101.com/r/CuxFKx/1