工具类描述:用户字符串操作,这里面包括字符串的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. Cogs 2221. [SDOI2016 Round1] 数字配对(二分图)

    [SDOI2016 Round1] 数字配对 ★★★ 输入文件:menci_pair.in 输出文件:menci_pair.out 简单对比 时间限制:1 s 内存限制:128 MB [题目描述] 有 ...

  2. luogu P3709 大爷的字符串题

    二次联通门 : luogu P3709 大爷的字符串题 /* luogu P3709 大爷的字符串题 莫队 看了半天题目 + 题解 才弄懂了要求什么... 维护两个数组 一个记录数字i出现了几次 一个 ...

  3. c++ 珊格迷宫问题

    #demo1 #include<iostream> #include<ctime> #include<cstdlib> #include<queue> ...

  4. 【转】gcc的__builtin_函数介绍

    转自:http://blog.csdn.net/jasonchen_gbd/article/details/44948523 GCC提供了一系列的builtin函数,可以实现一些简单快捷的功能来方便程 ...

  5. mysql my.cnf文件

    一.mysqld组值设置: 1.user = mysql #启动mysql的用户.2.pid-file = /var/run/mysqld/mysqld.pid #指定pid文件.3.socket = ...

  6. vue中的父组件传值给子组件

    以上父组件以及父组件里面的代码 下面是子组件以及里面的代码

  7. OpenFOAM中的热传导?【翻译】

    翻译自:CFD-online 帖子地址:http://www.cfd-online.com/Forums/openfoam/70758-conductive-heat-transfer-openfoa ...

  8. Eclipse中Git的操作

    一.工程初始化为本地库 工程→右键→Team→Share Project→Git 点击Finish即可 二.Eclipse 中忽略不必追踪控制的文件 列如: .classpath 文件 .projec ...

  9. ab 压测

    Linux学习14-ab报错apr_pollset_poll: The timeout specified has expired (70007) 前言 使用ab压力测试时候出现报错apr_polls ...

  10. Linux 基于WEB开源的系统管理工具webmin

    Webmin是目前功能最强大的基于Web的Unix系统管理工具.管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理动作.目前Webmin支持绝大多数的Unix系统,这些系统除了各种版本的l ...