xufei 2 anos atrás
pai
commit
35b532c999

+ 64 - 0
src/main/java/com/winhc/bigdata/udf/CompanyFinancingRoundStd.java

@@ -0,0 +1,64 @@
+package com.winhc.bigdata.udf;
+
+import com.aliyun.odps.udf.UDF;
+import org.apache.commons.lang.StringUtils;
+
+import java.util.regex.Pattern;
+
+/**
+ * @author π
+ * @Description:
+ * @date 2022/6/9 9:25
+ */
+public class CompanyFinancingRoundStd extends UDF {
+
+    private static final Pattern FINANCING_ALLOW = Pattern.compile("[^a-zA-Z种子轮/天使定向增发战略融资并购]");
+    private static final Pattern FINANCING_UP_E = Pattern.compile("[e-zE-Z]");
+
+    public String evaluate(String financing) {
+        if (StringUtils.isEmpty(financing)) {
+            return null;
+        }
+        String financing_std = FINANCING_ALLOW.matcher(financing).replaceAll("");
+        if (StringUtils.isEmpty(financing_std)) {
+            return "其他";
+        }
+        if (financing_std.contains("A") || financing_std.contains("a")) {
+            return "A轮";
+        }
+        if (financing_std.contains("B") || financing_std.contains("b")) {
+            return "B轮";
+        }
+        if (financing_std.contains("C") || financing_std.contains("c")) {
+            return "C轮";
+        }
+        if (financing_std.contains("D") || financing_std.contains("d")) {
+            return "D轮";
+        }
+        if (financing_std.contains("IPO") || financing_std.contains("ipo")) {
+            return "IPO";
+        }
+        if (financing_std.contains("天使") || financing_std.contains("种子")) {
+            return "种子轮/天使轮";
+        }
+        if (financing_std.contains("定向") || financing_std.contains("增发")) {
+            return "定向增发";
+        }
+        if (financing_std.contains("战略")) {
+            return "战略融资";
+        }
+        if (financing_std.contains("并购")) {
+            return "并购";
+        }
+        if (FINANCING_UP_E.matcher(financing_std).find()) {
+            return "E轮及以上";
+        }
+        return "其他";
+    }
+
+    public static void main(String[] args) {
+        CompanyFinancingRoundStd l = new CompanyFinancingRoundStd();
+        System.out.println(l.evaluate("IPO上市"));
+    }
+
+}