工具类描述:用户字符串操作,这里面包括字符串的decodeencodesubstract等等操作

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等等操作的更多相关文章

  1. 实现C语言字符串操作的库函数 包括基本的字符串复制 字符串长度 字符串比较等多种函数(C代码)

    头文件 "mystring.h" #ifndef _MYSTR_H #define _MYSTR_H #include <stdio.h> #include <s ...

  2. javascript中字符串常用操作总结、JS字符串操作大全

    字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用操作做个整理,一者加深印象,二者方便今后温 ...

  3. js--javascript中字符串常用操作总结、JS字符串操作大全

    字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用操作做个整理,一者加深印象,二者方便今后温 ...

  4. Java字符串操作及与C#字符串操作的不同

    每种语言都会有字符串的操作,因为字符串是我们平常开发使用频率最高的一种类型.今天我们来聊一下Java的字符串操作及在某些具体方法中与C#的不同,对于需要熟悉多种语言的人来说,作为一种参考.进行诫勉 首 ...

  5. JAVA字符串格式化-String.format()的使用 【生成随机数补0操作】

    转: JAVA字符串格式化-String.format()的使用 常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的s ...

  6. 使用任意的输入流(InputStream)实例,包括字符串形式的文件路径或者 file:// 的 URL 形式的文件路径来配置

    mybatis – MyBatis 3 | 入门 http://www.mybatis.org/mybatis-3/zh/getting-started.html 从 XML 中构建 SqlSessi ...

  7. PHP操作redis之String(字符串)、List(列表)(一)

    Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key – value 缓存产品有以下三个特点: Redis支持数据的持久 ...

  8. 【微软100题】定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。 如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数。

    package test; /** * 定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部. 如把字符串abcdef左旋转2位得到字符串cdefab. 请实现字符串左旋转的函数. * ...

  9. glib简单记录包括字符串,主循环,回调函数和xml解析

    一.将最近用到的glib字符串功能整理了下直接用程序记录比较好看懂 #define MAX_LEN 100gchar * demo (char* msg, ...){    gchar * pcfgf ...

随机推荐

  1. 爬虫(六):Selenium库使用

    一:Selenium简介 selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处 ...

  2. tesonflow实现word2Vec

    word2Vec 是实现从原始语料中学习字词空间向量的预测模型 使用word2Vec的skip_Gram模型 import collections import math import os impo ...

  3. infiniband RDMA对比

  4. dashucoding记录2019.6.6

    div { display:flex; flex-direction:row-reverse; } -webkit-, - ms-或-moz- CSS语法 flex-direction: row|ro ...

  5. web目录

    Proj app controllers jobs models view user xxx.html init.go conf message public img js css html

  6. 《Glibc内存管理》笔记DAY4

    目录 分箱式内存管理 Small bins Large bins 内容来源 分箱式内存管理   对于空闲的 chunk,ptmalloc 采用分箱式内存管理方式,根据空闲 chunk 的大小和处于的状 ...

  7. 使用多个tomcat如何修改端口号

    一.找到tomcat下conf文件夹下server.xml: 二.修改8080端口 三.修改8009端口 四.修改8005端口 修改后同时启动多个tomcat成功.

  8. world: 对比两个文档

    1. 2. 3. 4.

  9. SQL-W3School-函数:SQL LEN() 函数

    ylbtech-SQL-W3School-函数:SQL LEN() 函数 1.返回顶部 1. LEN() 函数 LEN 函数返回文本字段中值的长度. SQL LEN() 语法 SELECT LEN(c ...

  10. Windows 操作系统 端口转发

    在Windows 下可以使用netsh interface portproxy 命令实现端口转发功能. 例:netsh interface portproxy add v4tov4 listenpor ...