揰掵佲 发表于 2022-12-20 09:35:31

e4a6.2支持库源码

e4a6.2支持库源码
想学习java写法的 可以适当参考




public final class 文本操作 {
    private 文本操作() {
    }

    @SimpleFunction
    public static int 寻找文本(String str1, String str2, int start) {
      if (start < 0 || start > str1.length() || "".equals(str1) || "".equals(str2)) {
            return -1;
      }
      return str1.indexOf(str2, start);
    }

    @SimpleFunction
    public static int 倒找文本(String str1, String str2, int start) {
      if (start < 0 || start > str1.length() || "".equals(str1) || "".equals(str2)) {
            return -1;
      }
      return str1.lastIndexOf(str2, start);
    }

    @SimpleFunction
    public static String 到小写(String str) {
      return str.toLowerCase();
    }

    @SimpleFunction
    public static String 到大写(String str) {
      return str.toUpperCase();
    }

    @SimpleFunction
    public static String 取文本左边(String str, int len) {
      if ("".equals(str) || len <= 0) {
            return "";
      }
      return len <= str.length() ? str.substring(0, len) : str;
    }

    @SimpleFunction
    public static String 取文本右边(String str, int len) {
      if ("".equals(str) || len <= 0) {
            return "";
      }
      return len <= str.length() ? str.substring(str.length() - len, str.length()) : str;
    }

    @SimpleFunction
    public static String 取文本中间(String str, int start, int len) {
      if ("".equals(str) || start < 0 || len <= 0 || start > str.length()) {
            return "";
      }
      int end = start + len;
      if (end > str.length()) {
            end = str.length();
      }
      return str.substring(start, end);
    }

    @SimpleFunction
    public static int 取文本长度(String str) {
      return str.length();
    }

    @SimpleFunction
    public static int 取文本长度2(String str) {
      return str.getBytes().length;
    }

    @SimpleFunction
    public static String 删首尾空(String str) {
      return str.trim();
    }

    @SimpleFunction
    public static String 删首空(String str) {
      char[] chars = str.toCharArray();
      int count = 0;
      int i = 0;
      while (i < chars.length && chars == ' ') {
            i++;
            count++;
      }
      String s = str;
      if (count > 0) {
            return new String(chars, count, chars.length - count);
      }
      return s;
    }

    @SimpleFunction
    public static String 删尾空(String str) {
      char[] chars = str.toCharArray();
      int count = 0;
      int i = chars.length - 1;
      while (i > 0 && chars == ' ') {
            i--;
            count++;
      }
      String s = str;
      if (count > 0) {
            return new String(chars, 0, chars.length - count);
      }
      return s;
    }

    @SimpleFunction
    public static String 子文本替换(String str, String find, String replace) {
      if ("".equals(find) || "".equals(str)) {
            return "";
      }
      return str.replaceAll("\\Q" + find + "\\E", replace);
    }

    @SimpleFunction
    public static String 子文本替换2(String str, int start, int end, String replace) {
      if ("".equals(str) || start < 0 || start > str.length() || end < start || end > str.length()) {
            return "";
      }
      return str.substring(0, start) + replace + str.substring(end + 1);
    }

    @SimpleFunction
    public static int 文本比较(String str1, String str2) {
      return str1.compareTo(str2);
    }

    @SimpleFunction
    public static String 翻转文本(String str) {
      return new StringBuffer(str).reverse().toString();
    }

    @SimpleFunction
    public static String[] 分割文本(String str, String separator) {
      if ("".equals(separator) || "".equals(str)) {
            return new String;
      }
      if (separator.equals("\n")) {
            str = 子文本替换(str, "\r", "");
      }
      if (取文本右边(str, 取文本长度(separator)).equals(separator)) {
            return 取指定文本(separator + str, separator, separator);
      }
      return 取指定文本(separator + str + separator, separator, separator);
    }

    @SimpleFunction
    public static String[] 取指定文本(String str, String left, String right) {
      if ("".equals(str) || "".equals(left) || "".equals(right)) {
            return new String;
      }
      return 正则表达式.正则匹配(str, "(?<=\\Q" + left + "\\E).*?(?=\\Q" + right + "\\E)");
    }

    @SimpleFunction
    public static String 取指定文本2(String str, String left, String right) {
      String[] temp = 取指定文本(str, left, right);
      if (temp.length > 0) {
            return temp;
      }
      return "";
    }
}

下载地址 回复 可见
**** Hidden Message *****

stpvpbaz 发表于 2023-7-28 15:31:22


支持开源~!感谢分享

未命名 发表于 2023-9-8 19:46:45

[重磅]易语言实地培训招生中 https://www.leybc.com/thread-8424-1-1.html

retn 发表于 2024-4-30 15:33:42


支持开源~!感谢分享
页: [1]
查看完整版本: e4a6.2支持库源码