|
@@ -0,0 +1,27 @@
|
|
|
+package com.winhc.bigdata.udf;
|
|
|
+
|
|
|
+import com.aliyun.odps.udf.UDF;
|
|
|
+import com.aliyun.odps.utils.StringUtils;
|
|
|
+
|
|
|
+import java.util.regex.Pattern;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @author ZhangJi
|
|
|
+ * @since 2022-03-30 13:35
|
|
|
+ */
|
|
|
+public class StringCleanupChangeInfo extends UDF {
|
|
|
+ private static final Pattern first_p = Pattern.compile("[^\\u4e00-\\u9fa50-9a-zA-Z()()]");
|
|
|
+ private static final Pattern second_p = Pattern.compile("[((][^((]+[))]$");
|
|
|
+ private static final Pattern third_p = Pattern.compile("[^\\u4e00-\\u9fa50-9a-zA-Z]");
|
|
|
+
|
|
|
+ public String evaluate(String val) {
|
|
|
+ if (StringUtils.isEmpty(val)) return "";
|
|
|
+ val = first_p.matcher(val).replaceAll("");
|
|
|
+ val = second_p.matcher(val).replaceAll("");
|
|
|
+ return third_p.matcher(val).replaceAll("");
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void main(String[] args) {
|
|
|
+ System.out.println(new StringCleanupChangeInfo().evaluate("f (xx()))===="));
|
|
|
+ }
|
|
|
+}
|