Guava:Strings 字符串处理工具

简介

StringCharSequence 实例有关的静态实用程序方法。

类方法说明

官方文档:Strings (Guava: Google Core Libraries for Java 27.0.1-jre API)

方法名称 方法说明
commonPrefix(CharSequence a, CharSequence b) 返回共同的前缀字符串.
commonSuffix(CharSequence a, CharSequence b) 返回共同的后缀字符串.
emptyToNull(@Nullable String string) 返回字符串非空字符串,返回原字符串。否则,返回null.
isNullOrEmpty(@Nullable String string) 判断字符串是不是null或者空字符串.
lenientFormat(@Nullable String template, Object... args) 返回给定的模板字符串,每次出现的"%s"都替换为args中对应的参数值; 或者,如果占位符和参数计数不匹配,则返回该字符串形式.
nullToEmpty(@Nullable String string) 返回字符串非null,返回原字符串。否则返回空字符串.
padEnd(String string, int minLength, char padChar) 返回字符串,长度最少是minLength,长度不够的话用重复的padChar填充.
padStart(String string, int minLength, char padChar) 返回字符串,长度最少是minLength,长度不够的话用重复的padChar填充.
repeat(String string, int count) 返回string重复count次.

使用Demo

java 复制代码
import com.google.common.base.Strings;
import org.junit.Test;

/**
 * Strings 字符串处理
 */
public class StringsTest {

    @Test
    public void strings() {
        //1.判空
        System.out.println(Strings.isNullOrEmpty("")); // true
        System.out.println(Strings.isNullOrEmpty(null)); // true
        System.out.println(Strings.isNullOrEmpty("hello")); // false

        //2.将null转化为""
        System.out.println(Strings.nullToEmpty(null)); // ""

        //3.追加字符
        // 从尾部不断补充T只到总共8个字符,如果源字符串已经达到或操作,则原样返回。类似的有padStart
        System.out.println(Strings.padEnd("hello", 8, 'T')); // helloTTT

        //4.统计出现次数
        //返回string重复count次.
        System.out.println(Strings.repeat("hello", 3)); //hellohellohello

        //5.模板填充
        //返回给定的模板字符串,每次出现的"%s"都替换为args中对应的参数值; 或者,如果占位符和参数计数不匹配,则返回该字符串形式.
        String[] args = {"a", "b", "c"};
        System.out.println(Strings.lenientFormat("hi,%s,hello,%s,jack,%s", args));//hi,a,hello,b,jack,c

        String[] longArgs = {"a", "b", "c", "b"};
        System.out.println(Strings.lenientFormat("hi,%s,hello,%s,jack,%s", longArgs));//hi,a,hello,b,jack,c [b]

        String[] shortArgs = {"a", "b"};
        System.out.println(Strings.lenientFormat("hi,%s,hello,%s,jack,%s", shortArgs));//hi,a,hello,b,jack,%s

        //6.找寻相同前/后缀
        System.out.println(Strings.commonPrefix("Hello", "Het"));    // He
        System.out.println(Strings.commonPrefix("Hello", "Hit"));    // H
        System.out.println(Strings.commonPrefix("Hello", "hit"));    // 空
        System.out.println(Strings.commonPrefix("Hello", "Xit"));    // 空
        System.out.println(Strings.commonSuffix("world", "xid"));    // d
        System.out.println(Strings.commonSuffix("world", "xic"));    // 空
    }

}
相关推荐
stein_java15 分钟前
springMVC-13 文件下载及上传
java·spring
Cyanto34 分钟前
Spring MVC 核心枢纽:DispatcherServlet 的深度解析与实践价值
java·spring·mvc
fuze233335 分钟前
Spring MVC扩展消息转换器-->格式化时间信息
java·spring·mvc
躺着高37 分钟前
dump 日志收集与分析(jmap 和 jstack 工具)
java
wuxuanok40 分钟前
Java反射
java·开发语言·笔记·学习
lifallen1 小时前
Flink task、Operator 和 UDF 之间的关系
java·大数据·flink
面朝大海,春不暖,花不开1 小时前
Spring Data MongoDB 技术指南
java·mongodb·spring
果粒多1 小时前
JVM 参数调优核心原则与常用参数
java·开发语言·jvm
南棱笑笑生2 小时前
20250614在Ubuntu20.04.6下分步骤编译Rockchip的RK3576原厂SDK
java·开发语言·git
源码宝2 小时前
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
java·大数据·源码·智慧工地·智能监测·智能施工