如何使用jsl測試字串是否只包含A~Z和0~9?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />如何使用jsl測試字串是否只包含A~Z和0~9?
我的資料應僅包含 A~Z 和 0~9,但當 1 或幾位翻轉時,則沒有可列印的字元。
提前謝謝了!
Re: 如何使用jsl測試字串是否只包含A~Z和0~9?謝謝! regex101 有助於理解您共享的程式碼。
Re: 如何使用jsl測試字串是否只包含A~Z和0~9?如果您只需要知道找到或未找到,則使用正規表示式相當簡單,如果您還需要符合項,則需要在替換找到的符合項時循環遍歷字串。 另外,如果您需要測試您的正規表示式,我建議正規表示式101
Names Default To Here(1);
original_txt1 = " today I m at FL12, tomorrow I will be at FL 103";
original_txt2 = " today I m at FLb12, tomorrow I will be at FL a123";
// if you only need to know if there is a match combine regex with !IsMissing()
found1 = !Is Missing(Regex(original_txt1, "FL\s?\d+"));
found2 = !Is Missing(Regex(original_txt2, "FL\s?\d+"));
show(found1, found2);
// if you also need the matches loop over the string
matches = {};
While(!Is Missing(rgx_match = Regex(original_txt1, "FL\s?\d+")),
Insert Into(matches, rgx_match);
Substitute Into(original_txt1, rgx_match, "");
);
show(matches);
據我所知,JMP 無法使用 Regex Match() 執行“全局”正則表達式搜索,我已為其創建了願望清單項在 Regex Match() 中新增標誌以尋找所有不重疊的模式出現)。 你很可能會使用JMP 自己的模式匹配做諸如查找多個匹配項之類的任務,但我沒有費心去學習它。 這是關於這個的好帖子模式匹配
Re: 如何使用jsl測試字串是否只包含A~Z和0~9?你好
我想知道正則表達式是否可以在文本中使用?
Text =“今天我在 FL12,明天我將在 FL102”
我有幾行文本,我想找出每行是否包含 FL + 任意數字,那麼是,或列印 FL+數字。 在本例中,它將是 FL12 和 FL103。
如果沒有正規表示式,你能建議其他功能嗎?
Re: 如何使用jsl測試字串是否只包含A~Z和0~9?謝謝@pmroz以獲得說明。 對於一些特別髒的數據非常有用。
如果其他人需要一個方便的範例,請嘗試以下操作:
If(
Regex( :"2nd"n, "^[A-Z]+$" ) == :"2nd"n, "Uppercase",
Regex( :"2nd"n, "^[a-z]+$" ) == :"2nd"n, "Lowercase",
Regex( :"2nd"n, "^[0-9]+$" ) == :"2nd"n, "Numbers",
Regex( :"2nd"n, "^[A-Z0-9]+$" ) == :"2nd"n, "Uppercase and numbers",
Regex( :"2nd"n, "^[a-z0-9]+$" ) == :"2nd"n, "lowercase and numbers",
Regex( :"2nd"n, "^[A-Za-z]+$" ) == :"2nd"n, "No numbers",
Regex( :"2nd"n, "^[A-Za-z0-9]+$" ) == :"2nd"n, "All characters",
Regex( :"2nd"n, "^[A-Za-z0-9]+$" ) != :"2nd"n,
"includes non alphanumeric characters"
)

Re: 如何使用jsl測試字串是否只包含A~Z和0~9?^ 表示字串的開頭,+ 表示符合至少一個字符,$ 表示字串的結尾。
要返回 1 或 0,只需將 Yes 更改為 1,將 No 更改為 0:
如果(正規表示式( :姓名( “第二” ) , “^[a-zA-Z0-9]+$” ) == :姓名( “第二” ) , 1 , 0 )
順便說一句,有很多網站解釋正規表示式。
Re: 如何使用jsl測試字串是否只包含A~Z和0~9?感謝您的回复,PMroz。
^ 和 +$ 是做什麼用的?
我怎麼能讓它傳回1或0,以便我可以將它與其他比較演算法一起使用?
Re: 如何使用jsl測試字串是否只包含A~Z和0~9?您可以使用正規表示式來檢查這一點。建立一個包含以下公式的新欄位:
如果(正規表示式( :姓名( “第二” ) , “^[a-zA-Z0-9]+$” ) == :姓名( “第二” ) , “是的” , “不” )
如果新列是純字母數字,則其值為“是”,否則為“否”。