Apache Commons Text

        Apache Commons Text 是 Apache Commons 项目中的一个模块,专注于文本处理和字符串操作。它提供了许多实用的工具类和方法,帮助开发者在处理文本时更高效。下面是一些 Apache Commons Text 中常用的方法和功能:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-text</artifactId>
	 <!-- Check for the latest version -->
    <version>1.9</version>
</dependency>
1. StrSubstitutor

        用于字符串替换,支持占位符的替换。

    public static void main(String[] args) {
        Map<String, String> map = new HashMap<>(16);
        map.put("name","拼夕夕");
        map.put("time","69.3h");
        //创建实例
        StrSubstitutor sub = new StrSubstitutor(map);
        //1.基本替换:
        String templateString ="公司:${name},每周平均工作时长${time}。";
        String resolvedString  = sub.replace(templateString);
        System.out.println(resolvedString);
        //输出===> 公司:拼夕夕,每周平均工作时长69.3h。
        //2.自定义占位符: "示例中用中括号[ ]"
        sub  = new StrSubstitutor(map,"[","]");
        templateString ="公司:[name],每周平均工作时长[time]。";
        resolvedString  = sub.replace(templateString);
        System.out.println(resolvedString);
        //输出===> 公司:拼夕夕,每周平均工作时长69.3h。
    }
2 .StringEscapeUtils

        提供了对字符串进行转义和反转义的功能,支持多种格式。

    public static void main(String[] args) {
        //1. HTML 转义:
        String escapedHtml = StringEscapeUtils.escapeHtml4("Hello <world>!");
        //输出===> Hello &lt;world&gt;!
        System.out.println(escapedHtml);
        String unescapedHtml = StringEscapeUtils.unescapeHtml4(escapedHtml);
        //输出===> Hello <world>!
        System.out.println(unescapedHtml);

        //2.XML 转义:
        String escapedXml = StringEscapeUtils.escapeXml11("<example>test</example>");
        System.out.println(escapedXml);
        //输出===> &lt;example&gt;test&lt;/example&gt;
        String unescapedXml = StringEscapeUtils.unescapeXml(escapedXml);
        //输出===> <example>test</example>
        System.out.println(unescapedXml);

        //3.JSON 转义:
        String unescapeJson = StringEscapeUtils.unescapeJson("{\"key\":\"value\"}");
        //输出===> {"key":"value"}
        System.out.println(unescapeJson);
        String escapedJson = StringEscapeUtils.escapeJson(unescapeJson);
        //输出===> {\"key\":\"value\"}
        System.out.println(escapedJson);
    }
3. StringTokenizer

StringTokenizer 用于对字符串进行分词操作,支持多种分隔符。

    public static void main(String[] args) {

        //创建一个待分隔的字符串
        String testStr = "Hello*World*Apache|nice|to|meet|you";
        //创建StringTokenizer类,它可以根据指定的分隔符将字符串分解为多个子串,或通过默认的分隔符(空格、制表符、换行符、回车符)进行拆分
        StringTokenizer tokenizer = new StringTokenizer(testStr, "*|");
        //创建一个接收数组
        String[] tokens = new String[tokenizer.countTokens()];
        int index = 0;
        //boolean hasMoreTokens():判断是否还有未处理的子串。
        while (tokenizer.hasMoreTokens()) {
            //String nextToken():返回下一个子串。
            tokens[index] = tokenizer.nextToken();
            index++;
        }
        //输出===> ["Hello","World","Apache","nice","to","meet","you"]
        System.out.println(JSONObject.toJSONString(tokens));
    }
4. WordUtils

  WordUtils 提供了对单词的操作,常用于格式化文本。

   public static void main(String[] args) {
        String text = "this is my favorite song";
        // 首字母大写
        String capitalized = WordUtils.capitalize(text);
        //输出===> This Is My Favorite Song
        System.out.println(capitalized);
        // 去除首字母大写
        String uncapitalized = WordUtils.uncapitalize(capitalized);
        //输出===> this is my favorite song
        System.out.println(uncapitalized);
        // 每行10个字符换行
        String formattedText = WordUtils.wrap(text, 10);
        //输出===> this is my
                 //favorite
                 //song
        System.out.println(formattedText);
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值