Position eines Buchstabens als Zahl anzeigenHallo,
Ich möchte, dass die Position eines Buchstabens in einem Text gezählt und als Zahl angezeigt wird. Ich habe nur X als Buchstaben und möchte die Zahl in einer anderen Spalte haben. Leerzeichen sollten ebenfalls gezählt werden.
Text:
XXXX
Ausgang:
12 4 9
Wie kann ich das machen?
Danke für deine Antwort
DatentabelleSkripterstellungBetreff: Position eines Buchstabens als Zahl anzeigenVielen Dank, beide Lösungen haben gut funktioniert.
Betreff: Position eines Buchstabens als Zahl anzeigenHi,
Wie @jthi antwortete, können Sie das obige Skript kopieren und in den Formeleditor einfügen.Ich habe es als Formelspalte in die Tabelle unten eingefügt (kopieren Sie dieses Skript und fügen Sie es in ein neues Skriptfenster ein, um die Tabelle neu zu erstellen) und speicherte die Tabelle auch in diesem Beitrag.
New Table( "Show position of letter example table",
Add Rows( 1 ),
New Column( "text",
Character,
"Nominal",
Set Values( {"XX X X"} ),
Set Display Width( 87 )
),
New Column( "Output",
Character,
"Nominal",
Formula(
X_pos = {};
For( i = 1, i <= Length( :text ), i++,
If( Substr( :text, i, 1 ) == "X",
X_pos[i] = Char( i ),
X_pos[i] = " "
)
);
Concat Items( X_pos, "" );
),
Set Selected,
Set Display Width( 107 )
)
)Betreff: Position eines Buchstabens als Zahl anzeigenSie sollten in der Lage sein, eine neue Spalte zu erstellen und zu kopieren und einzufügen @HadleyMyers Lösung direkt in den Formeleditor (bei Bedarf mit dem Fix Contains Item()):

Bearbeiten: Dies erwartet, dass die Spalte als "Text" benannt wird
Betreff: Position eines Buchstabens als Zahl anzeigenVielen Dank für diese Lösung. Ich habe noch nicht mit JMP-Scripting gearbeitet. Gibt es eine einfache Möglichkeit, dies dem Skript meiner Tabelle hinzuzufügen? Oder denselben Ausdruck im Formeleditor erstellen?
Betreff: Position eines Buchstabens als Zahl anzeigenFür mich scheint Concat Items() zusätzlichen Platz hinzuzufügen, wenn kein zweites Argument angegeben ist, daher müssen Sie möglicherweise Concat Items( X_pos , "") verwendenBetreff: Position eines Buchstabens als Zahl anzeigenHi,
Die Verwendung dieses Skripts als Formelspalte sollte die Aufgabe erfüllen:
X_pos = {};
For( i = 1, i <= Length( :text ), i++,
If( Substr( :text, i, 1 ) == "X",
X_pos[i] = Char( i ),
X_pos[i] = " "
)
);
Concat Items( X_pos );