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. Leerzeichen sollten ebenfalls gezählt werden.
Text:
XX X X.
Ausgabe:
12 4 9
Wie kann ich das machen?
Danke für deine Antwort
DatentabelleSkriptingBetreff: Position eines Buchstabens als Zahl anzeigenHallo,
Die Verwendung dieses Skripts als Formelspalte sollte folgende 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 );Betreff: Position eines Buchstabens als Zahl anzeigenFür mich scheint Concat Items () zusätzlichen Platz hinzuzufügen, wenn kein zweites Argument angegeben wird, sodass Sie möglicherweise Concat Items (X_pos, "") verwenden müssen.Betreff: Position eines Buchstabens als Zahl anzeigenVielen Dank für diese Lösung. Ich habe noch nicht mit JMP-Skripten gearbeitet. Gibt es eine einfache Möglichkeit, dies zum Skript meiner Tabelle hinzuzufügen? Oder den gleichen Ausdruck im Formeleditor erstellen?
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 an den Formeleditor (mit dem Contains Item () Fix, falls erforderlich):

Bearbeiten: Dies erwartet, dass die Spalte als "Text" bezeichnet wird.
Betreff: Position eines Buchstabens als Zahl anzeigenHallo,
Wie @jthi geantwortet, können Sie das obige Skript kopieren und in den Formeleditor einfügen.Ich habe es als Formelspalte in die folgende Tabelle aufgenommen (kopiere dieses Skript und füge es in ein neues Skriptfenster ein, um die Tabelle neu zu erstellen) und speichere 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 )
)
)