Entfernen der ersten 4 Zeichen aus einer Spalte zusammen mit einem SonderzeichenHallo,
Ich habe eine Spalte, die eine Beispielbeschreibung ist, und vor der Beschreibung steht immer eine ~Zahl, die ich aus allen Zeilen entfernen möchte. Nur eine Zeile enthält das "~". Zum Beispiel.
Probe:
126: Beschreibung AB
291: Beschreibung XYZ
~619: Beschreibung
Gibt es ein JSL-Skript, das das "~", die ersten dreistelligen Zahlen, und das ":" (einschließlich Leerzeichen) aus allen Zeilen innerhalb der Beispielspalte entfernen würde? Die Daten, die ich mir ansehe, haben immer eine dreistellige Nummer vorne zusammen mit dem : und dem Leerzeichen. Das Problem besteht darin, das ~ aus einer der Zeilen zu entfernen.
Schätzen Sie die Hilfe
Josch
Automatisierung und SkripterstellungWindowsBetreff: Entfernen der ersten 4 Zeichen aus einer Spalte zusammen mit einem SonderzeichenHier ist eine Möglichkeit, im Wesentlichen das führende Leerzeichen vom letzten „Wort“ zu entfernen und ":" als Trennzeichen zu verwenden. Es gibt andere Möglichkeiten, einschließlich Regex.
/*JMP STATISTICAL DISCOVERY LLC (“JMP”) PERMITS THE USE OF THIS COMPUTER SOFTWARE CODE (“CODE”) ON AN AS-IS BASIS AND AUTHORIZES YOU TO USE THE CODE SUBJECT TO THE TERMS LISTED HEREIN. BY USING THE CODE, YOU AGREE TO THESE TERMS. YOUR USE OF THE CODE IS AT YOUR OWN RISK. JMP MAKES NO REPRESENTATION OR WARRANTY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRIGEMENT, AND TITLE, WITH RESPECT TO THE CODE.
You may use the Code solely as part of a software product you currently have licensed from JMP, JMP’s parent company SAS Institute Inc. (“SAS”), or one of JMP’s or SAS’s subsidiaries or authorized agents (the “Software”), and not for any other purpose. The Code is designed to add functionality to the Software but has not necessarily been tested. Accordingly, JMP makes no representation or warranty that the Code will operate error-free. JMP is under no obligation to maintain, support, or continue to distribute the Code.
Neither JMP nor its licensors shall be liable to you or any third-party for any general, special, direct, indirect, consequential, incidental, or other damages whatsoever arising out of or related to your use or inability to use the Code, even if JMP has been advised of the possibility of such damages. Except as otherwise provided above, the Code is governed by the same agreement that governs the Software. If you do not have an existing agreement with JMP or SAS governing the Software, you may not use the Code.
JMP and all other JMP Statistical Discovery LLC product or service names are registered trademarks or trademarks of JMP Statistical Discovery LLC in the USA and other countries. ® indicates USA registration. Other brand and product names are registered trademarks or trademarks of their respective companies.
*/
Names Default To Here (1);
//make data table
dt = New Table( "Untitled",
Add Rows( 3 ),
New Column( "Sample",
Character,
"Nominal",
Set Values(
{"126: Description AB", "291: Description XYZ", "~619: Description"}
)
)
);
//remove unwanted characters
for each row (dt,
:Sample = trim (word (-1, :Sample, ":"))
);Betreff: Entfernen der ersten 4 Zeichen aus einer Spalte zusammen mit einem SonderzeichenHallo @Hams ,
Da der Teil, den Sie behalten möchten, immer durch ein Leerzeichen vom Rest der Zeichenfolge getrennt ist, können Sie eine Umkodierungsformel wie unten verwenden, um alle "Wörter" außer dem ersten (das eine Mischung aus Zeichen und Zahlen ist, aber nicht durch Leerzeichen getrennt). Sie können den Spaltennamen „Spalte 1“ einfach durch den Spaltennamen ändern, in dem Sie die Probenbeschreibung haben.
Recode(
:Column 1,
{Word(
[2 -1],
_rcNow,
Get Whitespace Characters() ||
Get Punctuation Characters( Exclude Chars( "'-" ) ),
Unmatched( _rcNow )
)}
)
Ich hoffe, diese andere Option wird Ihnen helfen,
Betreff: Entfernen der ersten 4 Zeichen aus einer Spalte zusammen mit einem SonderzeichenEs gibt viele verschiedene Möglichkeiten, dies zu tun, unten ist eine Option, die Regex verwendet
Regex("126: Description AB", "~?\d{3}: (.+)$", "\1");
Regex("291: Description XYZ", "~?\d{3}: (.+)$", "\1");
Regex("~619: Description", "~?\d{3}: (.+)$", "\1");
https://regex101.com/r/nMilGt/1 erklärt die Regex ein wenig
