StringUtils 工具类介绍大全 isAnyEmpty isAnyBlank stripToNull 等

StringUtils工具类介绍

基本上常用的介绍了一遍

前言

直接干货

1.isEmpty()

描述:判断是否是真空字符串

StringUtils.isEmpty(null) = true
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty("bob") = false

2.isNotEmpty()

描述:判断是否 不是真空字符串

StringUtils.isNotEmpty(null) = false
StringUtils.isNotEmpty("") = false
StringUtils.isNotEmpty(" ") = true
StringUtils.isNotEmpty("bob") = true

3.isAnyEmpty()

描述: 是否包含任何真空值  包含则返回true

StringUtils.isAnyEmpty(null) = true
StringUtils.isAnyEmpty(null, "foo") = true
StringUtils.isAnyEmpty("", "bar") = true
StringUtils.isAnyEmpty("bob", "") = true
StringUtils.isAnyEmpty("  bob  ", null) = true
StringUtils.isAnyEmpty(" ", "bar") = false
StringUtils.isAnyEmpty("foo", "bar") = false

4.isNoneEmpty()

描述:理解上就是  对 isAnyEmpty 取反就可以啦,是否不包含任何空值

StringUtils.isNoneEmpty(null) = false
StringUtils.isNoneEmpty(null, "foo") = false
StringUtils.isNoneEmpty("", "bar") = false
StringUtils.isNoneEmpty("bob", "") = false
StringUtils.isNoneEmpty("  bob  ", null) = false
StringUtils.isNoneEmpty(" ", "bar") = true
StringUtils.isNoneEmpty("foo", "bar") = true

5.isBlank()

描述:blank的判断 是在 empty的基础上再添加一个 空格 就是 空白符。

StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ")  = true
StringUtils.isBlank("bob") = false
StringUtils.isBlank("  bob  ") = false

6.isNotBlank()

描述:对isBlank()取反

StringUtils.isNotBlank(null) = false
StringUtils.isNotBlank("")   = false
StringUtils.isNotBlank(" ")  = false
StringUtils.isNotBlank("bob")= true
StringUtils.isNotBlank("  bob  ") = true

7.isAnyBlank()

描述:只要有空值 就返回true,与isAnyEmpty()想比 多判断了 空格值。

StringUtils.isAnyBlank(null)   = true
StringUtils.isAnyBlank(null, "foo") = true
StringUtils.isAnyBlank(null, null)  = true
StringUtils.isAnyBlank("", "bar")   = true
StringUtils.isAnyBlank("bob", "")   = true
StringUtils.isAnyBlank("  bob  ", null)  = true
StringUtils.isAnyBlank(" ", "bar")  = true
StringUtils.isAnyBlank("foo", "bar")= false

8.isNoneBlank()

描述:理解上与 isAnyBlank() 取反值即可。

StringUtils.isNoneBlank(null)   = false
StringUtils.isNoneBlank(null, "foo") = false
StringUtils.isNoneBlank(null, null)  = false
StringUtils.isNoneBlank("", "bar")   = false
StringUtils.isNoneBlank("bob", "")   = false
StringUtils.isNoneBlank("  bob  ", null)  = false
StringUtils.isNoneBlank(" ", "bar")  = false
StringUtils.isNoneBlank("foo", "bar")= true

9.trim()

描述:去除字符串两边的空白符。

StringUtils.trim(null)= null
StringUtils.trim("")  = ""
StringUtils.trim("")  = ""
StringUtils.trim("abc")    = "abc"
StringUtils.trim("    abc    ") = "abc"

10.trimToNull()

描述:trim的基础上 将去掉的空格转换为 null。

StringUtils.trimToNull(null)= null
StringUtils.trimToNull("")  = null
StringUtils.trimToNull("")  = null
StringUtils.trimToNull("abc")    = "abc"
StringUtils.trimToNull("    abc    ") = "abc"

11.trimToEmpty()

描述:trimToEmpty在trim的基础上,将修剪后的null转化为空串。

StringUtils.trimToEmpty(null)= ""
StringUtils.trimToEmpty("")  = ""
StringUtils.trimToEmpty("")  = ""
StringUtils.trimToEmpty("abc")    = "abc"
StringUtils.trimToEmpty("    abc    ") = "abc"

12.strip()

描述:strip功能与trim对应,有两个参数的strip重载则可以指定要在字符串开头与结尾需要删除的字符串。

StringUtils.strip(null)= null
StringUtils.strip("")  = ""
StringUtils.strip("   ")    = ""
StringUtils.strip("abc")    = "abc"
StringUtils.strip("  abc")  = "abc"
StringUtils.strip("abc  ")  = "abc"
StringUtils.strip(" abc ")  = "abc"
StringUtils.strip(" ab c ") = "ab c"
StringUtils.strip(null, *)= null
StringUtils.strip("", *)  = ""
StringUtils.strip("abc", null) = "abc"
StringUtils.strip("  abc", null)    = "abc"
StringUtils.strip("abc  ", null)    = "abc"
StringUtils.strip(" abc ", null)    = "abc"
StringUtils.strip("  abcyx", "xyz") = "  abc"

 13.stripToNull()

描述:stripToNull功能与trimToNull对应,有两个参数的strip重载则可以指定要在字符串开头与结尾需要删除的字符串。

StringUtils.stripToNull(null)= null
StringUtils.stripToNull("")  = null
StringUtils.stripToNull("   ")    = null
StringUtils.stripToNull("abc")    = "abc"
StringUtils.stripToNull("  abc")  = "abc"
StringUtils.stripToNull("abc  ")  = "abc"
StringUtils.stripToNull(" abc ")  = "abc"
StringUtils.stripToNull(" ab c ") = "ab c"

 14.stripToEmpty()

描述:stripToEmpty功能与trimToEmpty对应,有两个参数的strip重载则可以指定要在字符串开头与结尾需要删除的字符串。

StringUtils.stripToEmpty(null)= ""
StringUtils.stripToEmpty("")  = ""
StringUtils.stripToEmpty("   ")    = ""
StringUtils.stripToEmpty("abc")    = "abc"
StringUtils.stripToEmpty("  abc")  = "abc"
StringUtils.stripToEmpty("abc  ")  = "abc"
StringUtils.stripToEmpty(" abc ")  = "abc"
StringUtils.stripToEmpty(" ab c ") = "ab c"

 15.stripStart()

描述:stripStart是实现在字符串开头删除指定的字符串。也就是strip系列方法的主要实现依赖之一。

StringUtils.stripStart(null, *)= null
StringUtils.stripStart("", *)  = ""
StringUtils.stripStart("abc", "")   = "abc"
StringUtils.stripStart("abc", null) = "abc"
StringUtils.stripStart("  abc", null)    = "abc"
StringUtils.stripStart("abc  ", null)    = "abc  "
StringUtils.stripStart(" abc ", null)    = "abc "
StringUtils.stripStart("yxabc  ", "xyz") = "abc  "

 16.stripAll()

描述:stripAll有默认删除字符串数组的前后空格功能与删除指定的前后字符串的重载方法。

StringUtils.stripAll(null)   = null
StringUtils.stripAll([])= []
StringUtils.stripAll(["abc", "  abc"]) = ["abc", "abc"]
StringUtils.stripAll(["abc  ", null])  = ["abc", null]
StringUtils.stripAll(null, *) = null
StringUtils.stripAll([], *)   = []
StringUtils.stripAll(["abc", "  abc"], null) = ["abc", "abc"]
StringUtils.stripAll(["abc  ", null], null)  = ["abc", null]
StringUtils.stripAll(["abc  ", null], "yz")  = ["abc  ", null]
StringUtils.stripAll(["yabcz", null], "yz")  = ["abc", null]

 17.indexOf()

描述:indexOf有四个重载

功能分别为:

查找字符序列第一个匹配的字符的位置;

根据指定的开始位置,查找字符序列第一个匹配的字符的位置;

查找字符序列第一个匹配的字符序列的位置;

根据指定的开始位置,查找字符序列第一个匹配的字符序列的位置。

StringUtils.indexOf(null, *)    = -1
StringUtils.indexOf("", *) = -1
StringUtils.indexOf("aabaabaa", 'a') = 0
StringUtils.indexOf("aabaabaa", 'b') = 2StringUtils.indexOf(null, *, *)= -1
StringUtils.indexOf("", *, *)  = -1
StringUtils.indexOf("aabaabaa", 'b', 0)  = 2
StringUtils.indexOf("aabaabaa", 'b', 3)  = 5
StringUtils.indexOf("aabaabaa", 'b', 9)  = -1
StringUtils.indexOf("aabaabaa", 'b', -1) = 2StringUtils.indexOf(null, *)= -1
StringUtils.indexOf(*, null)= -1
StringUtils.indexOf("", "") = 0
StringUtils.indexOf("", *)  = -1 (except when * = "")
StringUtils.indexOf("aabaabaa", "a")  = 0
StringUtils.indexOf("aabaabaa", "b")  = 2
StringUtils.indexOf("aabaabaa", "ab") = 1
StringUtils.indexOf("aabaabaa", "")   = 0StringUtils.indexOf(null, *, *)= -1
StringUtils.indexOf(*, null, *)= -1
StringUtils.indexOf("", "", 0) = 0
StringUtils.indexOf("", *, 0)  = -1 (except when * = "")
StringUtils.indexOf("aabaabaa", "a", 0)  = 0
StringUtils.indexOf("aabaabaa", "b", 0)  = 2
StringUtils.indexOf("aabaabaa", "ab", 0) = 1
StringUtils.indexOf("aabaabaa", "b", 3)  = 5
StringUtils.indexOf("aabaabaa", "b", 9)  = -1
StringUtils.indexOf("aabaabaa", "b", -1) = 2
StringUtils.indexOf("aabaabaa", "", 2)   = 2
StringUtils.indexOf("abc", "", 9)   = 3

  18.equals()

描述:equals是判断两个字符序列是否相等。

StringUtils.equals(null, null)   = true
StringUtils.equals(null, "abc")  = false
StringUtils.equals("abc", null)  = false
StringUtils.equals("abc", "abc") = true
StringUtils.equals("abc", "ABC") = false

  19.contains()

描述:字符序列seq是否包含字符searchChar,包含返回true,不包含返回false

StringUtils.contains(null, *)= false
StringUtils.contains(*, null)= false
StringUtils.contains("", "") = true
StringUtils.contains("abc", "")   = true
StringUtils.contains("abc", "a")  = true
StringUtils.contains("abc", "z")  = false
StringUtils.contains("", *) = false

   20.substring()

描述:根据所给的start和end截取字符串str,半开半闭、有前无后。

StringUtils.substring(null, *)   = null
StringUtils.substring("", *)= ""
StringUtils.substring("abc", 0)  = "abc"
StringUtils.substring("abc", 2)  = "c"
StringUtils.substring("abc", 4)  = ""
StringUtils.substring("abc", -2) = "bc"
StringUtils.substring("abc", -4) = "abc"StringUtils.substring(null, *, *)    = null
StringUtils.substring("", * ,  *)    = "";
StringUtils.substring("abc", 0, 2)   = "ab"
StringUtils.substring("abc", 2, 0)   = ""
StringUtils.substring("abc", 2, 4)   = "c"
StringUtils.substring("abc", 4, 6)   = ""
StringUtils.substring("abc", 2, 2)   = ""
StringUtils.substring("abc", -2, -1) = "b"
StringUtils.substring("abc", -4, 2)  = "ab"

   21.contains()

描述:字符序列seq是否包含字符searchChar,包含返回true,不包含返回false

StringUtils.contains(null, *)= false
StringUtils.contains(*, null)= false
StringUtils.contains("", "") = true
StringUtils.contains("abc", "")   = true
StringUtils.contains("abc", "a")  = true
StringUtils.contains("abc", "z")  = false
StringUtils.contains("", *) = false

    22.split()

描述:

split的重载功能分别为:将字符空格作为分隔符,返回字符串str分隔后的字符串数组。将传入的字符separatorChar作为分隔符,返回字符串str分隔后的字符串数组。将传入的字符串separatorChars作为分隔符,返回字符串str分隔后的字符串数组。将传入的字符串separatorChars作为分隔符,返回字符串str分隔后长度不大于max的字符串数组,多余的部分不分割,并入最后一个元素。

StringUtils.split(null)  = null
StringUtils.split("")    = []
StringUtils.split("abc def")  = ["abc", "def"]
StringUtils.split("abc  def") = ["abc", "def"]
StringUtils.split(" abc ")    = ["abc"]StringUtils.split(null, *)    = null
StringUtils.split("", *) = []
StringUtils.split("a.b.c", '.')    = ["a", "b", "c"]
StringUtils.split("a..b.c", '.')   = ["a", "b", "c"]
StringUtils.split("a:b:c", '.')    = ["a:b:c"]
StringUtils.split("a b c", ' ')    = ["a", "b", "c"]StringUtils.split(null, *)    = null
StringUtils.split("", *) = []
StringUtils.split("abc def", null) = ["abc", "def"]
StringUtils.split("abc def", " ")  = ["abc", "def"]
StringUtils.split("abc  def", " ") = ["abc", "def"]
StringUtils.split("ab:cd:ef", ":") = ["ab", "cd", "ef"]StringUtils.split(null, *, *)  = null
StringUtils.split("", *, *)    = []
StringUtils.split("ab cd ef", null, 0)   = ["ab", "cd", "ef"]
StringUtils.split("ab   cd ef", null, 0) = ["ab", "cd", "ef"]
StringUtils.split("ab:cd:ef", ":", 0)    = ["ab", "cd", "ef"]
StringUtils.split("ab:cd:ef", ":", 2)    = ["ab", "cd:ef"]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/683984.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nvm对node版本进行管理及疑难解决,vue项目搭建与启动

一、nvm安装与node版本管理 nvm安装 1、nvm地址:https://github.com/coreybutler/nvm-windows/releases 2、无需配置安装包,nvm-setup-v1.1.10.zip 解压后双击nvm-setup.exe,选择安装路径,一路next即可 打开dos窗口输入nvm vers…

C++ STL: list使用及源码剖析

list使用 list常用函数及使用&#xff08;1&#xff09; #include <iostream> #include <list> #include <algorithm>int main() {// 创建liststd::list<int> myList {5, 2, 9, 1, 5, 6};// 打印liststd::cout << "Original list: &quo…

VS Code添加环境变量

有时候你会发现即使添加了环境变量, 打开VS Code的命令行终端也找不到对应的环境变量。遇到这种情况可以通过给VS Code的终端独立添加对应环境变量解决: 步骤1. 找到设置 步骤2. 找到windows终端环境变量配置 3. 在此处配置然后重新打开一个终端即可 (完)

【leetcode热题100】相同的树

难度&#xff1a; 简单通过率&#xff1a; 49.0%题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目描述 给定两个二叉树&#xff0c;编写一个函数来检验它们是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的…

ZISUOJ 2022年算法基础公选课练习四(Map)

说明&#xff1a; 博主为了提早预习数据结构和C的一些知识&#xff0c;自己琢磨外加查阅资料所写的代码&#xff0c;题目来源于22年初的学院老师组织的算法基础公选课的练习。我的代码甚至思路肯定存在许多不足和错误&#xff0c;欢迎大家批评指正。 题目列表&#xff1a; 问题…

HCIA-HarmonyOS设备开发认证V2.0-轻量系统内核基础-互斥锁mux

目录 一、互斥锁基本概念二、互斥锁运行机制三、互斥锁开发流程四、互斥锁使用说明五、互斥锁接口六、代码分析&#xff08;待续...&#xff09; 一、互斥锁基本概念 互斥锁又称互斥型信号量&#xff0c;是一种特殊的二值性信号量&#xff0c;用于实现对共享资源的独占式处理。…

(力扣记录)98. 验证二叉搜索树

数据结构&#xff1a;树&#x1f332; 时间复杂度&#xff1a;O(n) 空间复杂度&#xff1a;O(n) 代码实现&#xff1a; class Solution:def isValidBST(self, root: Optional[TreeNode]) -> bool:def dfs(root, l, r):if not root:return Trueif not l < root.val &l…

Serverless里FaaS与BaaS

目录 什么是FaaS&#xff1f; 什么是BaaS&#xff1f; 什么是FaaS&#xff1f; FaaS 即 Functions as a Service&#xff0c;函数即服务&#xff0c;是Serverless架构的一种形态&#xff0c;面向函数编程&#xff0c;基于事件驱动提供云服务之间端到端的解决方案。借助FaaS&a…

华为HCIE课堂笔记第十八章 SR技术

第十八章 SR技术 18.1 简介 SR可以通过控制器实现集中算路&#xff0c;并根据业务的不同下发不同的路径给到头端设备&#xff0c;头端设备将路径标签通过标签栈的形式压入到报文中&#xff0c;沿途的设备不需要维护路径信息&#xff0c;仅按照标签栈中的栈顶进行报文转发即可…

STM32——OLED菜单(二级菜单)

文章目录 一.补充二. 二级菜单代码 简介&#xff1a;首先在我的51 I2C里面有OLED详细讲解&#xff0c;本期代码从51OLED基础上移植过来的&#xff0c;可以先看完那篇文章&#xff0c;在看这个&#xff0c;然后按键我是用的定时器扫描不会堵塞程序,可以翻开我的文章有单独的定时…

Flutter Android开发 梳理Google Material Design颜色体系

前言 做安卓开发&#xff08;Kotlin语言&#xff09;&#xff0c;Flutter开发的人员应该都听说过谷歌一直推崇的Material Design&#xff0c;而Material Design Color是其推崇的颜色体系&#xff0c;具体来说&#xff0c;Material Design Color是一套旨在帮助设计师和开发者创…

Panalog 日志审计系统 libres_syn_delete.php 前台RCE漏洞复现

0x01 产品简介 Panalog是一款日志审计系统,方便用户统一集中监控、管理在网的海量设备。 0x02 漏洞概述 Panalog日志审计系统 libres_syn_delete.php接口处存在远程命令执行漏洞,攻击者可执行任意命令,接管服务器权限。 0x03 影响范围 version <= MARS r10p1Free 0…

vue3-使用 Vue 的多种方式

概览 我们相信在 Web 的世界里没有一种方案可以解决所有问题。正因如此&#xff0c;Vue 被设计成一个灵活的、可以渐进式集成的框架。根据使用场景的不同需要&#xff0c;相应地有多种不同的方式来使用 Vue&#xff0c;以此在技术栈复杂度、开发体验和性能表现间取得最佳平衡。…

java+springboot+vue试题库在线学习系统05umj

技术路线&#xff1a; B/S架构&#xff0c;后端springboot框架&#xff0c;前端Vue.js框架。 主要功能模块&#xff08;至少六大功能&#xff09;&#xff0c;参考任务书并拓展 &#xff08;1&#xff09;用户管理模块&#xff1a;规定不同角色的用户对系统中各个功能模块的使用…

【经验】JLINK无法(单步)调试,JLINK固件的烧写

昨天终于准备开始进行S3C6410的裸机开发&#xff0c;写好了程序&#xff0c;编译生成了.axf文件&#xff0c;一切顺利的准备利用JLINK进行在线调试了&#xff0c;突然有种成功就在前面的感觉&#xff0c;Jlink也能被电脑正常的识别&#xff0c;利用AXD进行Jlink的相关设置也很正…

安卓自定义画板

包含功能&#xff1a; 包含 获取当前画板的截图、设置画笔样式、获取画笔样式、设置画笔宽度、获取画笔宽度、设置画笔颜色、获取画笔颜色、加载图片、获取图片位图对象、设置图片位图对象&#xff0c;并在画布上绘制图片、撤销上一步操作、重做上一步撤销的操作、清空所有绘图…

用机器学习方法重构期货商品板块

用机器学习方法重构期货商品板块 阿岛格 参考专栏:低门槛搭建个人量化平台 https://www.zhihu.com/column/c_1441014235068944386 摘 要 金融市场商品期货的板块分类,通常根据不同交易所、监管机构和证券商标准,按照期货标的属性、或产业链关系等进行分类,各自分类略有差…

ROS-Ubuntu20.04环境安装

1.系统和ROS版本 操作系统&#xff1a;Ubuntu20.04 ROS版本&#xff1a;ROS noetic 2.安装步骤 1.配置ROS软件源 sudo sh -c echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list 2.配置密钥…

Dirty PageTable

前言 Dirty PageTable 是一种针对堆相关漏洞的利用手法&#xff0c;主要就是针对 PTE 进行攻击。 参考文章&#xff1a; Dirty Pagetable: A Novel Exploitation Technique To Rule Linux Kernel – 该利用方式提出原文 上述文章已经讲的非常清楚了&#xff0c;就是实操写 e…

海伦公式求三角形面积

海伦公式&#xff0c;又译作希伦公式、海龙公式、希罗公式、海伦-秦九韶公式&#xff0c;是一种用于计算三角形面积的公式。其表达式为&#xff1a;S√p(p-a)(p-b)(p-c)&#xff0c;其中p是半周长&#xff0c;即p(abc)/2。这个公式的特点是形式漂亮&#xff0c;便于记忆。 相传…