用户字符串操作,这里面包括字符串的decode、encode、substract等等操作
工具类描述:用户字符串操作,这里面包括字符串的decode、encode、substract等等操作
package cn.hgnulb;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 工具类描述:用户字符串操作,这里面包括字符串的decode、encode、substract等等操作
*/
public class StringUtil {
/**
* 把前台传过来的含中文的url字符串转换成标准中文,比如“%E5%8C%97%E4%BA%AC”转换成“北京”
*
* @param url
* url字符串
* @return string
*/
public static String decodeUrl(String url) {
if (url == null)
return "";
String str = "";
try {
str = URLDecoder.decode(url, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return str;
}
/**
* 把比如“北京”转换成“%E5%8C%97%E4%BA%AC”
*
* @param url
* url字符串
* @return string
*/
public static String encodeUrl(String url) {
if (url == null)
return "";
String str = "";
try {
str = URLEncoder.encode(url, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return str;
}
/**
* 取字符串除最后一位的子串,比如 "aaa,bbb,"返回"aaa,bbb",一般用在多个字段进行拼接,要去除最后一位
*
* @param str
* 字符串
* @return string
*/
public static String subTract(String str) {
if (str.length() == 0)
return "";
else
return str.substring(0, str.length() - 1);
}
/**
* 判断字符串是null或"",null或""都返回true
*
* @param str
* 字符串
* @return boolean
*/
public static boolean isNullOrEmpty(String str) {
if (str == null || "".equals(str))
return true;
else
return false;
}
/**
* 判断字符串不是null且"",不是null且""时返回true,否则返回false
*
* @param str
* 字符串
* @return boolean
*/
public static boolean isNotNullOrEmpty(String str) {
if (str != null && !"".equals(str))
return true;
else
return false;
}
/**
* 过滤表情,在移动开发中,有些字符是表情等特殊字符,数据库不识别,需要过滤掉, 替换为*
*
* @param source
* @return string
*/
public static String filterEmoji(String source) {
if (StringUtil.isNotNullOrEmpty(source)) {
return source.replaceAll("[\\ud800\\udc00-\\udbff\\udfff\\ud800-\\udfff]", "*");
} else {
return source;
}
}
/**
* 判断是否是手机号
*
* @param mobile
* @return boolean
*/
public static boolean isMobile(String mobile) {
Pattern p = Pattern.compile("^1[3-9]\\d{9}$");
Matcher m = p.matcher(mobile);
boolean b = m.matches();
return b;
}
public static void main(String[] args) {
System.out.println("StringUtil.decodeUrl(\"%E5%8C%97%E4%BA%AC\"): " + StringUtil.decodeUrl("%E5%8C%97%E4%BA%AC"));
System.out.println("StringUtil.encodeUrl(\"北京\"): " + StringUtil.encodeUrl("北京"));
System.out.println("StringUtil.subTract(\"aaa,bbb,\"): " + StringUtil.subTract("aaa,bbb,"));
System.out.println("StringUtil.isNullOrEmpty(\"\"): " + StringUtil.isNullOrEmpty(""));
System.out.println("StringUtil.isNotNullOrEmpty(\"\"): " + StringUtil.isNotNullOrEmpty(""));
System.out.println("StringUtil.filterEmoji(\"
用户字符串操作,这里面包括字符串的decode、encode、substract等等操作的更多相关文章
- 实现C语言字符串操作的库函数 包括基本的字符串复制 字符串长度 字符串比较等多种函数(C代码)
头文件 "mystring.h" #ifndef _MYSTR_H #define _MYSTR_H #include <stdio.h> #include <s ...
- javascript中字符串常用操作总结、JS字符串操作大全
字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用操作做个整理,一者加深印象,二者方便今后温 ...
- js--javascript中字符串常用操作总结、JS字符串操作大全
字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用操作做个整理,一者加深印象,二者方便今后温 ...
- Java字符串操作及与C#字符串操作的不同
每种语言都会有字符串的操作,因为字符串是我们平常开发使用频率最高的一种类型.今天我们来聊一下Java的字符串操作及在某些具体方法中与C#的不同,对于需要熟悉多种语言的人来说,作为一种参考.进行诫勉 首 ...
- JAVA字符串格式化-String.format()的使用 【生成随机数补0操作】
转: JAVA字符串格式化-String.format()的使用 常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的s ...
- 使用任意的输入流(InputStream)实例,包括字符串形式的文件路径或者 file:// 的 URL 形式的文件路径来配置
mybatis – MyBatis 3 | 入门 http://www.mybatis.org/mybatis-3/zh/getting-started.html 从 XML 中构建 SqlSessi ...
- PHP操作redis之String(字符串)、List(列表)(一)
Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key – value 缓存产品有以下三个特点: Redis支持数据的持久 ...
- 【微软100题】定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。 如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数。
package test; /** * 定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部. 如把字符串abcdef左旋转2位得到字符串cdefab. 请实现字符串左旋转的函数. * ...
- glib简单记录包括字符串,主循环,回调函数和xml解析
一.将最近用到的glib字符串功能整理了下直接用程序记录比较好看懂 #define MAX_LEN 100gchar * demo (char* msg, ...){ gchar * pcfgf ...
随机推荐
- 爬虫(六):Selenium库使用
一:Selenium简介 selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处 ...
- tesonflow实现word2Vec
word2Vec 是实现从原始语料中学习字词空间向量的预测模型 使用word2Vec的skip_Gram模型 import collections import math import os impo ...
- infiniband RDMA对比
- dashucoding记录2019.6.6
div { display:flex; flex-direction:row-reverse; } -webkit-, - ms-或-moz- CSS语法 flex-direction: row|ro ...
- web目录
Proj app controllers jobs models view user xxx.html init.go conf message public img js css html
- 《Glibc内存管理》笔记DAY4
目录 分箱式内存管理 Small bins Large bins 内容来源 分箱式内存管理 对于空闲的 chunk,ptmalloc 采用分箱式内存管理方式,根据空闲 chunk 的大小和处于的状 ...
- 使用多个tomcat如何修改端口号
一.找到tomcat下conf文件夹下server.xml: 二.修改8080端口 三.修改8009端口 四.修改8005端口 修改后同时启动多个tomcat成功.
- world: 对比两个文档
1. 2. 3. 4.
- SQL-W3School-函数:SQL LEN() 函数
ylbtech-SQL-W3School-函数:SQL LEN() 函数 1.返回顶部 1. LEN() 函数 LEN 函数返回文本字段中值的长度. SQL LEN() 语法 SELECT LEN(c ...
- Windows 操作系统 端口转发
在Windows 下可以使用netsh interface portproxy 命令实现端口转发功能. 例:netsh interface portproxy add v4tov4 listenpor ...