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"));    // 空
    }

}
相关推荐
逍遥德15 分钟前
Java 锁(线程间)和数据库锁(事务间)对比详解
java·数据库·sql·高并发·锁机制
gwjcloud27 分钟前
Docker详解
java·docker·容器
河阿里36 分钟前
Java-JWT令牌技术深度指南
java·开发语言
WiChP1 小时前
【V0.1B6】从零开始的2D游戏引擎开发之路
java·log4j·游戏引擎
leaves falling1 小时前
C/C++ 的内存管理,函数栈帧详讲
java·c语言·c++
文静小土豆1 小时前
Java 应用上 K8s 全指南:从部署到治理的生产级实践
java·开发语言·kubernetes
zhimingwen1 小时前
初探 Java 後端開發:解決 macOS 環境下 Spring Boot 項目啟動的各類「坑」
java·spring boot
Rsun045512 小时前
3、Java 工厂方法模式从入门到实战
java·开发语言·工厂方法模式
田梓燊2 小时前
leetcode 142
android·java·leetcode
亚空间仓鼠2 小时前
Ansible之Playbook(三):变量应用
java·前端·ansible