import org.junit.Test;

import jodd.util.StringUtil;

/**

* String字符串的操作工具类,太强大以至于我要发疯

*

* @author DJZHOU

*

*/

public class StringExamUtil

{

@Test

public void stringExam()

{

String exam = "abcdefg10101010abcdefg";

String result = "";

/*

* replace 字符替换

*/

// 将字符串exam中的a替换成b

result = StringUtil.replace(exam, "a", "b");

// 将字符串exam中的a替换成8,b替换成9

result = StringUtil.replace(exam, new String[] { "a", "b" }, new String[] { "8", "9" });

// 将字符串exam中的a替换成b 这里是替换字符

result = StringUtil.replaceChar(exam, 'a', 'b');

// 将字符串exam中的a替换成8,b替换成9 这里是替换字符

result = StringUtil.replaceChars(exam, new char[] { 'a', 'b' }, new char[] { '8', '9' });

// 将字符串exam中的第一个a替换成b

result = StringUtil.replaceFirst(exam, "a", "b");

// 将字符串exam中的第一个a替换成b 这里是替换字符

result = StringUtil.replaceFirst(exam, 'a', 'b');

// 将字符串exam中的最后一个a替换成b

result = StringUtil.replaceLast(exam, "a", "b");

// 将字符串exam中的最后一个a替换成b 这里是替换字符

result = StringUtil.replaceLast(exam, 'a', 'b');

// 将字符串exam中的a和A替换成FF b和B替换成gg 即忽略大小写

result = StringUtil.replaceIgnoreCase(exam, new String[] { "a", "b" }, new String[] { "FF", "gg" });

/*

* remove 字符移除

*/

// 将字符串exam中的a移除

result = StringUtil.remove(exam, "a");

// 将字符串exam中的a移除 移除的是字符

result = StringUtil.remove(exam, 'a');

// 将字符串exam中的a b移除 移除的是字符 最后一个参数为无限参数

result = StringUtil.removeChars(exam, 'a', 'b');

// 将字符串exam中的a移除

result = StringUtil.removeChars(exam, "a");

/*

* 判断字符串是否为空

*/

// 判断字符串exam是否为空

System.out.println(StringUtil.isEmpty(exam));

// 判断字符串exam是否不为空

System.out.println(StringUtil.isNotEmpty(exam));

// 判断字符串exam是否为空 这里的空为去掉空格之后

System.out.println(StringUtil.isBlank("   "));

// 判断字符串exam是否不为空 这里的空为去掉空格之后

System.out.println(StringUtil.isNotBlank("   "));

// 判断字符串(无限参数)是否都为空 他们之间的关系为并且

System.out.println(StringUtil.isAllEmpty(exam, "  ", "null"));

// 判断字符串(无限参数)是否都为空 这里的空为去掉空格之后 他们之间的关系为并且

System.out.println(StringUtil.isAllBlank(exam, "  ", "null"));

// 对比字符串exam中的第4索引的字符是不是d

System.out.println(StringUtil.isCharAtEqual(exam, 4, 'd'));

// 对比字符串exam中的第4索引的字符是不是 不是d

System.out.println(StringUtil.isCharAtEscaped(exam, 4, 'd'));

/*

* equals安全的字符串对比是否相等 不需要考虑null.equals等问题

*/

// 判断字符串exam与aaa是否相等

System.out.println(StringUtil.equals(exam, "aaa"));

// 判断两个数组是否相等

System.out.println(StringUtil.equals(new String[] { "aaa" }, new String[] { "aaa", "bbb" }));

// 判断两个数组是否相等 且忽略大小写

System.out.println(StringUtil.equalsIgnoreCase(new String[] { "aaa" }, new String[] { "aaa", "bbb" }));

// 获取字符串bbb在数组中的索引

System.out.println(StringUtil.equalsOne("bbb", new String[] { "aaa", "bbb" }));

// 获取字符串bbb在数组中的索引 且忽略大小写

System.out.println(StringUtil.equalsOneIgnoreCase("bbb", new String[] { "aaa", "bbb" }));

/*

* 首字母的更改

*/

// 首字母大写

result = StringUtil.capitalize(exam);

// 首字母小写

result = StringUtil.uncapitalize(exam);

/*

* split字符串分割

*/

// 将字符串按 , 分割

String[] array = StringUtil.split("1,2,3,4,5,6,7,8", ",");

/*

* indexOf 获取字符串中的字符索引

*/

/*

* Strips, crops, trims and cuts

*/

// 若这个字符串以a为开头,则去掉a

result = StringUtil.stripLeadingChar(exam, 'a');

// 若这个字符串以g为结尾,则去掉g

result = StringUtil.stripTrailingChar(exam, 'g');

// 若该字符串为"" 则返回null 若不是则返回字符串

result = StringUtil.crop("");

// 裁剪数组 将""变成null

StringUtil.cropAll(new String[] { "", " " });

// 去掉字符串两边的空格

result = StringUtil.trimDown("  aa  ");

// 去掉字符串左边的空格

result = StringUtil.trimLeft("  aa  ");

// 去掉字符串右边的空格

result = StringUtil.trimRight("  aa  ");

// 去掉字符串右边的空格

String[] array2 = new String[] { "  aa  ", "  b  b" };

/*

* 去掉数组内空格

*/

StringUtil.trimAll(array2);

StringUtil.trimDownAll(array2);

for (String string : array2)

{

System.out.println(string);

}

/*

* 切割字符串

*/

// 从字符串的f字符开始切割字符串 保留f

result = StringUtil.cutFromIndexOf(exam, 'f');

// 从字符串的fg字符串开始切割字符串 保留fg

result = StringUtil.cutFromIndexOf(exam, "fg");

// 检查字符串是否为abc开头,若为此开头,则切割掉abc

result = StringUtil.cutPrefix(exam, "abc");

// 检查字符串是否为efg结尾,若为此结尾,则切割掉efg

result = StringUtil.cutSuffix(exam, "efg");

// 检查字符串是否为efg开头或结尾,若为此开头或结尾,则切割掉efg

result = StringUtil.cutSurrounding(exam, "efg");

// 检查字符串是否为abc开头efg结尾,若为为abc开头efg结尾,则切割掉

result = StringUtil.cutSurrounding(exam, "abc", "efg");

// 截取到字符串的f字符开始切割字符串 不保留f

result = StringUtil.cutToIndexOf(exam, 'f');

// 截取到字符串的fg字符串开始切割字符串 不保留fg

result = StringUtil.cutToIndexOf(exam, "fg");

/*

* 其他很多小巧的方法,可以自行研究

*/

System.out.println(result);

}

}

java jodd_java jodd框架介绍及使用示例相关推荐

  1. java jodd框架介绍及使用示例

    Jodd是一个普通开源Java包.你可以把Jodd想象成Java的"瑞士军刀",不仅小,锋利而且包含许多便利的功能.Jodd 提供的功能有: 提供操作Java bean, 可以从各 ...

  2. Java常用日志框架介绍

    Java常用日志框架介绍 文章目录 Java常用日志框架介绍 日志接口和日志框架的区别 各个框架出现的时间线 桥接包 Log4j2 常用搭配 单独的log4j 使用JCL(commons-loggin ...

  3. java saf,SAF框架介绍,SAF框架使用详解

    由于工作的关系,经常要跟SAF框架打交道,网上查了之后才发现只有简短的几篇介绍,说是加拿大的人开发的,经常开发CRM系统,早在01年就开始开源了,功能很强大. 之前写过一篇,怎么学习一个新的PHP框架 ...

  4. java常用的框架介绍

    一.SpringMVC http://blog.csdn.net/evankaka/article/details/45501811 Spring Web MVC是一种基于Java的实现了Web MV ...

  5. Java 常见JSON框架介绍

    JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.其简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言,同时也易于机器解析和生成, ...

  6. 8个java 网络编程框架介绍

    1Apache MINA 2Grizzly 3Netty 4NIO Framework 5QuickServer 6xSocket 7IOServer 8XNIO 自从JDK1.4中有了NIO以后,这 ...

  7. java kryo_Kryo框架使用方法代码示例

    Kryo框架的source已移至https://github.com/EsotericSoftware/kryo ,进入此页面,然后点击右边的Download Zip按钮,就能下载到最新版本的Kryo ...

  8. 流行的9个Java框架介绍: 优点、缺点等等

    流行的9个Java框架介绍: 优点.缺点等等 在 2018年,Java仍然是世界上最流行的编程语言.它拥有一个巨大的生态系统,在全世界有超过900万Java开发人员.虽然Java不是最直接的语言,但是 ...

  9. java集合框架介绍_Java集合框架介绍

    Java集合框架介绍 发布时间:2020-06-26 17:00:14 来源:亿速云 阅读:85 作者:Leah 这篇文章将为大家详细讲解有关Java集合框架介绍,文章内容质量较高,因此小编分享给大家 ...

最新文章

  1. 26张图带你彻底搞懂volatile关键字
  2. RFC 协议下载方法
  3. mysql限制小数位_Mysql中设置小数点用什么数据类型 decimal
  4. shell test和find命令实例解析
  5. else 策略模式去掉if_干掉if-else系列,可解决各种多分支嵌套,内联嵌套,复杂结构等,非策略模式的实现...
  6. 计算机没有设置无线临时网络,如何创建临时无线网络
  7. 信号与槽是如何实现的_如何解决wifi信号不好,实现全面覆盖
  8. 我的内核学习笔记1:字符设备完善
  9. 台式计算机一般多大功率,台式电脑功率一般多大 台式机功率有多少【详细介绍】...
  10. 牛客假日团队赛1 A.蹄球锦标赛
  11. 基于applet与ServerSocket的网络聊天室(记得是上学的时候写的,现在都忘了,记录一下)...
  12. 5年前我们摸爬滚打进入测试行业,如今你后悔吗?
  13. 关于信道利用率的总结与一道习题的最终解释
  14. 使用“Apple 诊断”来测试您的Mac 是不是存在硬件问题
  15. 概率算法/拉斯维加斯 蒙特卡洛 舍伍德算法
  16. 比较5个最佳的PHP表单生成器(和4个免费脚本)
  17. 马云创业过程中的10次失败(转)
  18. 通过阿里云api获取ecs主机信息
  19. 利用python实现ANN算法预测岩石单轴抗压强度的经验模型代码。设置岩石密度、孔隙度、施密特回弹值、动岩石参数作为输出层...
  20. 经典SQL练习——详细到令人发指(未完待续)

热门文章

  1. 2020年中国互联网之大事件(一)
  2. OS实验2-1 课堂练习2.1 外部中断
  3. yolov3-darknet中yolov2参数hier_thresh的意义及作用
  4. (翻译)用户的输入已知时,不要使用下拉菜单
  5. 值得收藏【Markdown】皇额娘级教你玩转vscode插件: Markdown All in One
  6. 台式电脑win8系统怎么换成win7?
  7. 【java毕业设计】基于java+SSH+jsp的物资租赁系统设计与实现(毕业论文+程序源码)——物资租赁系统
  8. 201803024袁朱涛
  9. win10 系统备份服务器,Windows10系统备份重要文件的详细步骤
  10. C语言的system()函数详解