こんにちは、
サンプルの説明である列があり、すべての行から削除したい説明の前に ~numbers が常にあります。 「~」が含まれている行は 1 行だけです。 例えば。
サンプル:
126: 説明 AB
291: 説明 XYZ
~619: 説明
サンプル列内のすべての行から「~」、最初の 3 桁の数字、および「:」(スペースを含む) を削除する JSL スクリプトはありますか? 私が見ているデータには、常に先頭に : とスペースとともに 3 桁の数字があります。 問題は、行の 1 つから ~ を削除することです。
助けに感謝します
ジョシュ
これは、「:」を区切り文字として使用して、最後の「単語」から先頭のスペースを実質的に削除する 1 つの方法です。 正規表現を含む他の方法があります。
/*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, ":"))
);やあ@ハムズ、
保持したい部分は常に文字列の残りの部分から空白で区切られているため、以下のような再コード化式を使用して、最初の単語 (文字と数字の混合ですが、空白で区切られていません)。 「Column 1」の列名は、サンプルの説明がある列名で簡単に変更できます。
Recode(
:Column 1,
{Word(
[2 -1],
_rcNow,
Get Whitespace Characters() ||
Get Punctuation Characters( Exclude Chars( "'-" ) ),
Unmatched( _rcNow )
)}
)
この他のオプションがお役に立てば幸いです。
これにはさまざまな方法があります。以下は、正規表現を使用した 1 つのオプションです。
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正規表現について少し説明します
