Regex PIG拉丁语--特殊字符处理-Å;——上面有环的大写字母A

Regex PIG拉丁语--特殊字符处理-Å;——上面有环的大写字母A,regex,hadoop,apache-pig,Regex,Hadoop,Apache Pig,我想检查一个列是否包含一些特殊字符集,并进一步进行计算,我可以对大多数spl字符进行计算,但不能对一个特定的spl字符进行计算。有没有人遇到并处理过这个spl charÅ?我甚至使用反斜杠来逃避它,但徒劳无功,如下面的代码所示 -- t1=使用PigStorage(“|”)加载“$input_track1”作为(t1data:chararray,sec_col:int); t1_output=foreach t1生成$0(在('F','S')中的子字符串($0,0,1)的情况下,则1否则0结束

我想检查一个列是否包含一些特殊字符集,并进一步进行计算,我可以对大多数spl字符进行计算,但不能对一个特定的spl字符进行计算。有没有人遇到并处理过这个spl charÅ?我甚至使用反斜杠来逃避它,但徒劳无功,如下面的代码所示


--
t1=使用PigStorage(“|”)加载“$input_track1”作为(t1data:chararray,sec_col:int);
t1_output=foreach t1生成$0(在('F','S')中的子字符串($0,0,1)的情况下,则1否则0结束)作为ORR,
(当子字符串($0,0,1)位于(“^',“@',“|',“[',”],“-”,“{',“}',“~”,“!”,“\”,“$”,“%,“&',”(“,”,”,“*”,“:”,“=”,“?”,“,”,“\'''''''''''\Å')中时,则1作为ORR2;
转储track1_输出;
样本数据:


ÅSecond|456是一个挪威字母。如果你发现了,你也可以找到
Æ
Ø
。还有许多其他的“特殊”字母“你需要考虑这样的字符。这些是数据中唯一的一组特殊字符,所以只需要处理这些字符。你试过使用Unicode符号吗?该字符应为“\u00C5”。您可能还想考虑为此编写一个UDF,应该更容易,更可读:(代码< > <代码>是挪威字母。如果您发现,您还可以找到
Æ
Ø
。还有很多其他的“特殊”字符需要考虑。这是数据中唯一的一组特殊字符,所以只需要处理这些字符。你试过使用Unicode符号吗?该字符应为“\u00C5”。您可能还想考虑为此编写一个UDF,应该更简单,更可读:
    --
    t1 = LOAD '$input_track1' using PigStorage('|') as (t1data:chararray,           sec_col:int);
    t1_output = foreach t1 generate $0, (CASE WHEN SUBSTRING($0, 0, 1) IN ('F','S') THEN 1 ELSE 0 END) AS ORR,
   (CASE WHEN SUBSTRING($0, 0, 1) IN ('^','@', '|','[',']','-','`','{','}','~','!','#','$','%','&','(',')','*','<','>',':','=','?', '"','\'''\Å')      THEN 1 ELSE 0 END) AS ORR2;
 dump track1_output;