|
@@ -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上市"));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+}
|