常用的字符串操作

Posted Steady_Man

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用的字符串操作相关的知识,希望对你有一定的参考价值。

StrFunc

----------

StrFunc是一个字符串操作的函数库,这个类不能被实例化,它里面定义的全部是静态函数。

--------------------------------------------------------------

常用方法示例说明:
isNull:判断指定字符串是否为空
参数说明:
@param String 要判断是否为空的字符串
@return boolean 为空或长度为0,返回true,否则返回false
使用举例:
StrFunc.isNull(" "); 有2个空格的字符串,返回false
StrFunc.isNull(null); 返回true

if (StrFunc.isNull(userStr)){

        throw new Exception("没有指定分配角色的用户或角色!");

compareStr:比较2个字符串是否一致
参数说明:
@param str1 要进行比较的字符串
@param str2 要进行比较的字符串
@return 都为空返回true,都不为空且内容一样也返回true,否则返回false
使用举例:
if(!StrFunc.compareStr(oldUpid, upId)){

}

比较字符串的另外几个方法:
compareStrIgnoreCase(final String str1, final String str2) 比较时忽略大小写
compareStrIgnoreBlank(final String str1, final String str2) 字符串内容一致返回true,反之false。比较时忽略""和null的区别
compareStrIgnoreBlankAndCase(final String str1, final String str2) 比较时忽略""和null的区别,忽略大小写
compareStrInt(final String str1, final String str2) 比较字符串的大小,如果str1>str2,返回正整数;如果str1=str2,返回0;如果str1<str2,返回负整数

str2Text:将指定的字符串中的不可见字符转换为可见字符的表示
不可见字符是指在java中有特殊含义的字符如:换行符(“\\n”) ,回车(“\\r”) 等。
参数说明:
@param String 要转换的字符串
@return String 返回可见字符串
使用举例:
StrFunc.str2Text("A B C");
返回值为:
A\\u20B\\tC

text2Str: str2Text的逆方法
参数说明:
@param String 转义后的可见文本
@return String 将字符串txt中的\\r,\\n,\\t等明文的转义写法,转成对应的字符
使用举例:
StrFunc.text2Str(“A\\u20B\\tC”);
返回值为:
A B C

date2str:将日期对象格式化为字符串
参数说明:
@param dat Calendar类型,要转换的日期
@param fmt 要转换成的格式
@return 日期字符串

  1. y表示年,m表示月,d表示日
  2. y/m/d取值为阿拉伯数字(123),Y/M/D取值为汉字(一二三)
  3. 2006,对“yy年”返回“06年”;对“yyyy年”则返回“2006年”
  4. h/n/s分别对应时、分、秒;q、qq、Q、QQ,表示季度
  5. mmm表示用英文显示月份

使用举例:
Calendar c = Calendar.getInstance();
c.set(2013,6, 2);
StrFunc.date2str(c, “YYYY年MM月DD日");
其返回内容为:二零一三年七月二日

重载方法:
date2str(Object dat, String fmt)
将日期对象格式化为字符串,对象可传递:
Date,Timestamp,Calendar

double2Str:此函数负责将浮点数转成字符串,用来显示。
参数说明:
@param double 要转换成串的浮点数
如果d为Double.NaN,返回长度为0的字符串;如果为Double.POSITIVE_INFINITY,返回∞;如果为Double.NEGATIVE_INFINITY,返回﹣∞;
@param mindeclen 设置小数部分允许的最小位数
@param maxdeclen 设置小数部分允许的最大位数
@param groupnum 是否将这种格式应用分组(整数部分,每3位一个逗号)
@return 浮点数字符串
该方法转换成字符串后的数值只能保证最大15或16位有效位数

使用举例:
StrFunc.double2str(22222.1449,3,3,false);
其返回内容为:22222.145

StrFunc.double2str(-345678.12345, 0, 4, true);
其返回内容为:-345,678.1235

StrFunc.double2str(81.1468032741434, -3, 5, true);
其返回内容为:81.1468

重载方法:
double2str(final double d)
小数部分允许的最小位数为0,小数部分允许的最大位数为10,不分组

ensureEndWith:确保字符串以串end结尾,如果r已经是end结尾或end为null,则不改变

参数说明:
@param r 字符串
@param end 字符串
@return 如果r字串以end结尾或end为null,直接返回r;若r字串不以end结尾,且end不为null,返回r+end。
使用举例:
StrFunc.ensureEndWith(file,“.tmp");
StrFunc.ensureEndWith(folder, File.separator);
ensureStartEndWith(final String s, final String start, final String end) 确保s以start开头end结尾
startEndWith(final String r, final String start, final String end) 判断r是否以start开头且以end结尾,返回ture/false

parseBoolean:将字符串解析为boolean值。
参数说明:
@param str 要转换为boolean类型的字符串
@param def 默认返回值,如果转换不成功返回def
@return 对应的boolean类型值
若给定的字符串是true、t、1、是,忽略大小写,返回true
若字符串为false、f、0、否,忽略大小写,返回false

使用举例:
StrFunc.parseBoolean("trUE", false); 返回true
StrFunc.parseBoolean("dsfdgedf", false); 返回默认值false

str2int:将字符串转换为int
参数说明:
@param o 要转换为int类型的对象
@param def 转换不成功返回的默认值
@return 将传入的字符串转换为int返回,如果转换不成功那么返回def

使用举例:
int pagesize = StrFunc.str2int(req.getParameter("pagesize"), PAGESIZE);

null2blank:空对象转换成长度为0的字符串
参数说明:
@param str 对象
@return 如果str为null,返回长度为0字符串,否则返回str

使用举例:

return "dsn/showdsnplugin.do?group="+StrFunc.null2blank(group);

其他类似方法:
null2default(final String str, final String def)
如果str为空时,就用def的值进行替代

format2htmlStr:将字符串转换为可以在html里显示的字符
参数说明:
@param message 需要转换的字符串
@param ignoreBlank 是否忽略对空格的处理,对空格的处理是将其转换为 字符输出
@param quateit 是否在返回的结果中增加双引号
@param toTextArea 是否将结果输出到文本编辑框TextArea内,如果是则不需要对回车换行与制表符进行转换
@return 处理后的字符串
使用举例:
StrFunc.format2HtmlStr("<script>alert(\'XSS击\\r\\nO K!\');</script>");
返回字符串:
<script>alert(\'XSS击<br/>O K!\');</script>

参数说明:
@param message 需要转换的字符串
@return 处理后的字符串

使用举例:
StrFunc.format2HtmlStr(“<script>alert(‘XSS攻击\\r\\nO K!\');</script>");
返回字符串:
<script>alert(‘XSS攻击<br/>O K!\');</script>

相应的其他方法:
format2HtmlStr_ignoreBlank(final String s)
忽略空格,即空格不转换成 ,原样输出。其余处理方式与format2HtmlStr一致

format2HtmlStr(final String message, final boolean ignoreBlank, final boolean quateit, final boolean toTextArea)
quateit是否在返回的结果中增加双引号
toTextArea 是否将结果输出到文本编辑框TextArea内,如果是则不需要对回车换行与制表符进行转换。即:如果传参false,回车换行符会转换成<br/> ,否则不进行转换,\\r依旧返回\\r,\\n依旧返回\\n。

contains:判断一个字符串是否在一个字符串数组中

参数说明:
@param array 被搜索的串数组
@param element 要搜索的字符串元素
@return element串若在串数组array中返回ture,反之false

使用举例:
StrFunc.contains(new String[]{"dfa","asdfds","c"}, "asdfds"); 返回true

if(StrFunc.contains(dataBbh.getUpids(), bbh.getId())){ …
}

isNumber:判断字串是否是数字类型字串,包括int,double

参数说明:
@param s 要判断是否为数字类型的字符串
@return s是数字类型字符串返回true,如果为null或长度为0,返回false

使用举例:
StrFunc.isNumber("0x7F"); 返回false
StrFunc.isNumber(cl.getProperty("x")) ? Integer.parseInt(cl.getProperty("x")) : -1;粗体粗体

以上是关于常用的字符串操作的主要内容,如果未能解决你的问题,请参考以下文章

提效小技巧——记录那些不常用的代码片段

C#程序员经常用到的10个实用代码片段 - 操作系统

常用python日期日志获取内容循环的代码片段

C#常用代码片段备忘

IOS开发-OC学习-常用功能代码片段整理

swift常用代码片段