Wie fügen wir in einer Liste, deren spezifische Zeichenlänge größer als die Standardform ist, ein Leerzeichen in die Zeichenfolge ein?Als Beispiel:
Zeichen Spalte Nr. 1 in Zeile Nr. 1: asd 123 deg Abonnieren 1124
Wenn die Länge eines beliebigen Wortes im Zellenwert größer als „5“ ist, möchte ich ein Leerzeichen beim dritten Zeichen.
Die ideale Form ist wie folgt
Zeichen Spalte Nr. 1 in Zeile Nr. 1: asd 123 deg jkl djsakldjlk 1124
Danke,
Erweiterte statistische ModellierungQualitäts- und ProzesstechnikBetreff: Wie fügen wir einen Leerraum innerhalb der Zeichenfolge in einer der Listen hinzu, deren spezifische Zeichenlänge größer als die Standardform ist?Ich bin mir nicht sicher, ob Sie eine interaktive, eine Formel oder eine Skriptlösung haben. Der Befehl Cols > Recode bietet ein umfassendes Werkzeug zum Ändern von Werten in einer Spalte. Siehe Beispiele und Anweisungen für Recode Hier .
Betreff: Wie fügen wir einen Leerraum innerhalb der Zeichenfolge in einer der Listen hinzu, deren spezifische Zeichenlänge größer als die Standardform ist?Hier ist eine Möglichkeit, das zu tun, was Sie wollen
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 );
Betreff: Wie fügen wir einen Leerraum innerhalb der Zeichenfolge in einer der Listen hinzu, deren spezifische Zeichenlänge größer als die Standardform ist?Eine Möglichkeit wäre, Regex zu verwenden.
Das könnte funktionieren:
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