首页 > 其他分享 >字符串处理工具类

字符串处理工具类

时间:2024-09-14 18:28:57浏览次数:3  
标签:return String 处理 param str 字符串 工具 public


字符串处理工具类

import java.util.Arrays;
 
public class StringUtils {
 
    /**
     * 将字符串反转
     * @param str 要反转的字符串
     * @return 反转后的字符串
     */
    public static String reverseString(String str) {
        return new StringBuilder(str).reverse().toString();
    }
 
    /**
     * 判断字符串是否为空
     * @param str 要判断的字符串
     * @return 如果字符串为空则返回true,否则返回false
     */
    public static boolean isEmpty(String str) {
        return str == null || str.isEmpty();
    }
 
    /**
     * 去除字符串两端的空格
     * @param str 要处理的字符串
     * @return 去除两端空格后的字符串
     */
    public static String trim(String str) {
        return str.trim();
    }
 
    /**
     * 将字符串转换为大写
     * @param str 要转换的字符串
     * @return 转换为大写后的字符串
     */
    public static String toUpperCase(String str) {
        return str.toUpperCase();
    }
 
    /**
     * 将字符串转换为小写
     * @param str 要转换的字符串
     * @return 转换为小写后的字符串
     */
    public static String toLowerCase(String str) {
        return str.toLowerCase();
    }
 
    /**
     * 判断字符串是否以指定的前缀开始
     * @param str 要判断的字符串
     * @param prefix 前缀
     * @return 如果字符串以指定的前缀开始则返回true,否则返回false
     */
    public static boolean startsWith(String str, String prefix) {
        return str.startsWith(prefix);
    }
 
    /**
     * 判断字符串是否以指定的后缀结束
     * @param str 要判断的字符串
     * @param suffix 后缀
     * @return 如果字符串以指定的后缀结束则返回true,否则返回false
     */
    public static boolean endsWith(String str, String suffix) {
        return str.endsWith(suffix);
    }
 
    /**
     * 判断字符串是否包含指定子字符串
     * @param str 要判断的字符串
     * @param subStr 子字符串
     * @return 如果字符串包含指定子字符串则返回true,否则返回false
     */
    public static boolean contains(String str, String subStr) {
        return str.contains(subStr);
    }
 
    /**
     * 将字符串按照指定分隔符拆分为数组
     * @param str 要拆分的字符串
     * @param delimiter 分隔符
     * @return 拆分后的字符串数组
     */
    public static String[] split(String str, String delimiter) {
        return str.split(delimiter);
    }
 
    /**
     * 将字符串按照指定分隔符拆分为列表
     * @param str 要拆分的字符串
     * @param delimiter 分隔符
     * @return 拆分后的字符串列表
     */
    public static List<String> splitToList(String str, String delimiter) {
        return Arrays.asList(str.split(delimiter));
    }
 
    /**
     * 替换字符串中的指定子字符串
     * @param str 要替换的字符串
     * @param target 要被替换的子字符串
     * @param replacement 替换字符串
     * @return 替换后的字符串
     */
    public static String replace(String str, String target, String replacement) {
        return str.replace(target, replacement);
    }
 
    /**
     * 将字符串转换为首字母大写
     * @param str 要转换的字符串
     * @return 首字母大写的字符串
     */
    public static String capitalize(String str) {
        if (isEmpty(str)) {
            return str;
        }
        return Character.toUpperCase(str.charAt(0)) + str.substring(1);
    }
 
    /**
     * 将字符串转换为首字母小写
     * @param str 要转换的字符串
     * @return 首字母小写的字符串
     */
    public static String uncapitalize(String str) {
        if (isEmpty(str)) {
            return str;
        }
        return Character.toLowerCase(str.charAt(0)) + str.substring(1);
    }
 
    /**
     * 将字符串转换为驼峰命名法(首字母小写)
     * 例如: "hello_world" -> "helloWorld"
     * @param str 要转换的字符串
     * @return 转换后的字符串
     */
    public static String toCamelCase(String str) {
        if (isEmpty(str)) {
            return str;
        }
        StringBuilder sb = new StringBuilder();
        String[] words = str.split("_");
        sb.append(words[0]);
        for (int i = 1; i < words.length; i++) {
            sb.append(capitalize(words[i]));
        }
        return sb.toString();
    }
 
    /**
     * 将字符串转换为帕斯卡命名法(首字母大写)
     * 例如: "hello_world" -> "HelloWorld"
     * @param str 要转换的字符串
     * @return 转换后的字符串
     */
    public static String toPascalCase(String str) {
        return capitalize(toCamelCase(str));
    }
 
    /**
     * 将字符串转换为下划线命名法(小写字母,单词间用下划线分隔)
     * 例如: "HelloWorld" -> "hello_world"
     * @param str 要转换的字符串
     * @return 转换后的字符串
     */
    public static String toSnakeCase(String str) {
        if (isEmpty(str)) {
            return str;
        }
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            if (Character.isUpperCase(c)) {
                if (i > 0) {
                    sb.append('_');
                }
                sb.append(Character.toLowerCase(c));
            } else {
                sb.append(c);
            }
        }
        return sb.toString();
    }
 
    /**
     * 获取重复指定次数的字符串
     * @param str 要重复的字符串
     * @param repeatCount 重复次数
     * @return 重复指定次数后的字符串
     */
    public static String repeat(String str, int repeatCount) {
        if (repeatCount <= 0) {
            return "";
        }
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < repeatCount; i++) {
            sb.append(str);
        }
        return sb.toString();
    }
 
    /**
     * 获取字符串的长度(考虑Unicode扩展字符)
     * @param str 要获取长度的字符串
     * @return 字符串的长度
     */
    public static int length(String str) {
        if (isEmpty(str)) {
            return 0;
        }
        return str.codePointCount(0, str.length());
    }
 
    /**
     * 判断两个字符串是否相等(忽略大小写)
     * @param str1 字符串1
     * @param str2 字符串2
     * @return 如果两个字符串相等则返回true,否则返回false
     */
    public static boolean equalsIgnoreCase(String str1, String str2) {
        return str1.equalsIgnoreCase(str2);
    }
 
    /**
     * 判断字符串是否为数字
     * @param str 要判断的字符串
     * @return 如果字符串为数字则返回true,否则返回false
     */
    public static boolean isNumeric(String str) {
        if (isEmpty(str)) {
            return false;
        }
        for (char c : str.toCharArray()) {
            if (!Character.isDigit(c)) {
                return false;
            }
        }
        return true;
    }
}


标签:return,String,处理,param,str,字符串,工具,public
From: https://blog.51cto.com/u_15903793/12018147

相关文章

  • 加密解密工具类
    加密解密工具类packagecom.example.modules.util;importjavax.crypto.Cipher;importjavax.crypto.KeyGenerator;importjavax.crypto.SecretKey;importjavax.crypto.spec.SecretKeySpec;importjava.security.SecureRandom;importjava.util.Base64;publ......
  • 【工具】前端JavaScript代码在线执行器 方便通过网页 手机测试js代码
    【工具】前端JavaScript代码在线执行器方便通过网页手机测试js代码自动补全js代码格式化代码色彩打印日志清空日志待补充<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,ini......
  • openEuler22.03关闭交换分区swap失败处理
    在架设很多上层应用系统时会遇到很多需要关闭swap的操作,例如安装Kubernetes节点。通常的做法是在/etc/fstab文件中注销swap分区的挂载,但是没有起作用,运行free-h还是能看见挂载的swap,而通过命令sudoswapoff-a&&sudosystemctlrestartkubelet.service是能够关闭并成功启......
  • YZ系列工具之YZ07:VBA对工作簿事件的监听
    我给VBA下的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套+一部VBA手册,教程分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到数据库,到字典,到高级的网抓及类的应用;手册是为方便编程人员查......
  • capital许可监控工具
    在软件资产日益增长的今天,如何有效管理和监控软件许可,确保合规使用并优化资源,已成为企业面临的重要挑战。Capital许可监控工具,作为一款专业的软件许可监控解决方案,正是为解决这一难题而生。一、Capital许可监控工具的核心价值Capital许可监控工具通过实时追踪和监控软件许可的使......
  • java springboot监听事件和处理事件
    在SpringBoot中,监听和处理事件是一种常用的模式,用于在应用程序的不同部分之间传递信息。Spring的事件发布/订阅模型允许我们创建自定义事件,并在这些事件发生时由注册的监听器进行处理。这里,我将提供一个简单的SpringBoot应用程序示例,其中将包括事件的定义、事件的发布以及事......
  • 推荐一个比较好用的工具Microsoft PowerToys
    MicrosoftPowerToys是一组实用工具,可帮助高级用户调整和简化其Windows体验,从而提高工作效率。虽然刚刚使用这个工具不久,但是已经能初步感受到它的强大,接下来我就对于我使用的几个功能进行简单介绍。屏幕截取这个功能在日常工作中应该是经常会用到,在学生时代,使用这个功能......
  • 最新免费AI视频工具!生成6秒视频只需30秒!
    MiniMaxAI目前可免费使用MiniMaxVideo:AiTextToVideo目前版本的HailuoAI可以生成分辨率为1280x720、每秒25帧的六秒视频片段。该模型受限于片段短暂的持续时间,但MiniMax承诺将在未来更新中解决这个问题。HailuoAI的新版本已经在开发中,预计将提供更长的片段持续......
  • 擅长处理临时数据的结构——栈
    目录实践1——从字符串中移除星号栈和数组存储数据的方式一样,它们都只是元素的列表。不同之处在于栈的以下3个限制:数据只能从栈末插入;数据只能从栈末删除;只能读取栈的最后一个元素。栈和队列、链表...一样,都是抽象的数据结构,何为抽象数据结构?它指一种数据组织的形式,它......
  • 快速创建Map的工具类
    主要是简化代码。importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;/***@authorlyu*@description:*@create2024-09-1416:31*/publicclassMapUtils{privateMapUtils(){thrownewUnsup......