JAVA 字符处理

/** * 分割字符串 * * @param str String 原始字符串 * @param splitsign String 分隔符 * @return String[] 分割后的字符串数组 */  
@SuppressWarnings("unchecked")  
public static String[] split(String str, String splitsign) {  int index;  if (str == null || splitsign == null)  return null;  ArrayList al = new ArrayList();  while ((index = str.indexOf(splitsign)) != -1) {  al.add(str.substring(0, index));  str = str.substring(index + splitsign.length());  }  al.add(str);  return (String[]) al.toArray(new String[0]);  
}  /** * 替换字符串 * * @param from String 原始字符串 * @param to String 目标字符串 * @param source String 母字符串 * @return String 替换后的字符串 */  
public static String replace(String from, String to, String source) {  if (source == null || from == null || to == null)  return null;  StringBuffer bf = new StringBuffer("");  int index = -1;  while ((index = source.indexOf(from)) != -1) {  bf.append(source.substring(0, index) + to);  source = source.substring(index + from.length());  index = source.indexOf(from);  }  bf.append(source);  return bf.toString();  
}  /** * 替换字符串,能能够在HTML页面上直接显示(替换双引号和小于号) * * @param str String 原始字符串 * @return String 替换后的字符串 */  
public static String htmlencode(String str) {  if (str == null) {  return null;  }  return replace("\"", """, replace("<", "<", str));  
}  /** * 替换字符串,将被编码的转换成原始码(替换成双引号和小于号) * * @param str String * @return String */  
public static String htmldecode(String str) {  if (str == null) {  return null;  }  return replace(""", "\"", replace("<", "<", str));  
}  private static final String _BR = "<br/>";  /** * 在页面上直接显示文本内容,替换小于号,空格,回车,TAB * * @param str String 原始字符串 * @return String 替换后的字符串 */  
public static String htmlshow(String str) {  if (str == null) {  return null;  }  str = replace("<", "<", str);  str = replace(" ", " ", str);  str = replace("\r\n", _BR, str);  str = replace("\n", _BR, str);  str = replace("\t", "    ", str);  return str;  
}  /** * 返回指定字节长度的字符串 * * @param str String 字符串 * @param length int 指定长度 * @return String 返回的字符串 */  
public static String toLength(String str, int length) {  if (str == null) {  return null;  }  if (length <= 0) {  return "";  }  try {  if (str.getBytes("GBK").length <= length) {  return str;  }  } catch (Exception ex) {  }  StringBuffer buff = new StringBuffer();  int index = 0;  char c;  length -= 3;  while (length > 0) {  c = str.charAt(index);  if (c < 128) {  length--;  } else {  length--;  length--;  }  buff.append(c);  index++;  }  buff.append("...");  return buff.toString();  
}  /** * 判断是否为整数 * * @param str 传入的字符串 * @return 是整数返回true,否则返回false */  
public static boolean isInteger(String str) {  Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");  return pattern.matcher(str).matches();  
}  /** * 判断是否为浮点数,包括double和float * * @param str 传入的字符串 * @return 是浮点数返回true,否则返回false */  
public static boolean isDouble(String str) {  Pattern pattern = Pattern.compile("^[-\\+]?[.\\d]*$");  return pattern.matcher(str).matches();  
}  /** * 判断输入的字符串是否符合Email样式. * * @param str 传入的字符串 * @return 是Email样式返回true,否则返回false */  
public static boolean isEmail(String str) {  Pattern pattern = Pattern.compile("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$");  return pattern.matcher(str).matches();  
}  /** * 判断输入的字符串是否为纯汉字 * * @param str 传入的字符窜 * @return 如果是纯汉字返回true,否则返回false */  
public static boolean isChinese(String str) {  Pattern pattern = Pattern.compile("[\u0391-\uFFE5]+$");  return pattern.matcher(str).matches();  
}  /** * 是否为空白,包括null和"" * * @param str * @return */  
public static boolean isBlank(String str) {  return str == null || str.trim().length() == 0;  
}  /** 
* 判断是不是合法手机 
* handset 手机号码 
*/  
public static boolean isHandset(String handset) {  
try {  if(!handset.substring(0,1).equals("1")) {  return false;  }  if (handset==null || handset.length()!=11) {  return false;  }  String check = "^[0123456789]+$";  Pattern regex = Pattern.compile(check);  Matcher matcher = regex.matcher(handset);  boolean isMatched = matcher.matches();  if(isMatched) {  return true;  } else {  return false;  }  
} catch (RuntimeException e) {  return false;  
}  
}  
}  

  

转载于:https://www.cnblogs.com/xiaoli3007/p/4267933.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/375323.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Win32ASM-进程学习【1】

关于一些进程的概念就不说了。。。 一创建进程GreateProcess (1).当一个进程被创建时: ①.系统为进程创建一个内核对象,并将这个对象的计数设置为1,进程对象只是一个比较小的数据结构,可以通过进程句柄来引用 ②.系统为进程创建一个虚拟地址空间,并将可执行文件装载到这个地…

Object-C,NSArraySortTest,数组排序3种方式

晚上回来&#xff0c;继续写Object-C的例子&#xff0c;今天不打算写iOS可视化界面的程序&#xff0c;太累了。刚刚dady又电话过来&#xff0c;老一套&#xff0c;烦死了。其实&#xff0c;我一直一个观点&#xff0c;无论发生什么事情&#xff0c;不要整天一副不开心的样子。开…

android中listview的一些样式设置

在Android中&#xff0c;ListView是最常用的一个控件&#xff0c;在做UI设计的时候&#xff0c;很多人希望能够改变一下它的背景&#xff0c;使他能够符合整体的UI设计&#xff0c;改变背景背很简单只需要准备一张图片然后指定属性 android:background"drawable/bg"&…

Win32ASM-进程学习【2】

获取运行中的句柄 1.从窗口句柄中获取进程句柄 要对进程进行某种操作,就必须首先知道该进程的句柄或者进程ID 对于自己创建的子进程来说CreateProcess函数返回了子进程句柄和进程的ID 但是如果如果要对系统中运行的某个进程进行操作,那么首先获取他们的句柄才行 如果知道某个…

完美解决IE8有两个进程的问题

完美解决IE8有两个进程的问题&#xff0c;照以下方法设置后就只有一个进程了&#xff0c;没有什么负影响哦&#xff01; 方法&#xff1a; 1、winR&#xff0c;在运行框里输入&#xff1a;gpedit.msc&#xff0c;回车进入组策略设置。 2、依次展开&#xff1a;计算机配置——管…

【转】gvim配置及相关插件安装

0.准备软件及插件。(a)gvim72.exe 地址ftp://ftp.vim.org/pub/vim/pc/gvim72.exe。(b)vimcdoc-1.7.0-setup.exe 地址http://prdownloads.sourceforge.net/vimcdoc/vimcdoc-1.7.0-setup.exe?download(c)ec57w32.zip 地址http://prdownloads.sourceforge.net/ctags/ec57w32.zip(…

Win32ASM-进程学习[3]-读写进程空间

invoke ReadProcessMemory,hProcess,lpBaseAddress,lpBuffer,dwSize,lpNumberOfBytesReadinvoke WriteProcessMemory,hProcess,lpBaseAddress,lpBuffer,dwSize,lpNumberOfBytesWritten hProcess 指定将要被读写的目标进程句柄 lpBaseAddress 目标进程中被读写的起始线性地址. …

MongoDB使用记录

安装服务 使用以下命令将MongoDB安装成为Windows服务。笔者的MongoDB目录为D:\Program Files\mongodb mongod --logpath "D:\Program Files\mongodb\data\logs.txt" --logappend --dbpath "D:\Program Files\mongodb\data" --directoryperdb --serviceName…

OC基础知识

Object C 语言基础 第一节总括 这一节是对Objective-C(以后简称OC)的简要介绍,目的是使读者对OC有一个概括的认识。 1.面象的读者 在阅读本文之前,应具备使用与C类似的编程语言(如C,C,JAVA)的一些经验,同时熟悉面向对象编程。 2.OC简介 OC是以SmallTalk为基础&#xff0c;建立…

Windows使用筛选器来处理异常

很久木有管博客了 最近也没有学什么 Dos系统下发生异常后,系统会调用int 24h服务例程,然后根据中断的返回值决定下一步要做什么,他会在屏幕上显示ignore Retry Fail Abort 让用户选择进而进行下一步操作 这样的话 只要应用程序截取int 24h中断,就可以随意的"胡作非…

Android 高级编程 RecyclerView 控件的使用

RecyclerView 是Android 新添加的一个用来取代ListView的控件&#xff0c;它的灵活性与可替代性比listview更好。 看一下继承关系&#xff1a; ava.lang.Object ↳android.view.View ↳android.view.ViewGroup ↳android.support.v7.widget.RecyclerViewKnown Direct …

Android下点亮LED

http://blog.csdn.net/cpj_phone/article/details/43562551转载于:https://www.cnblogs.com/Ph-one/p/4276974.html

SEH处理异常

Win32为每个线程定义了一个线程信息块,其中保存了线程的一些属性数据,线程信息块的属性被定义为NT_TIB结构 typedef struct _NT_TIB { struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList; PVOID StackBase; PVOID StackLimit; PVOID SubSystemTib; union { PVOID FiberDa…

Asp.net MVC 4新项目中创建area的后续操作

Asp.net MVC 4新项目中创建area后&#xff0c;往往HomeController与area的HomeController路由发生混淆&#xff0c;需要手工设置一些地方避免mvc无法识别默认路由的状况。 无废话具体步骤&#xff1a; 1. 检查早Global.asax和\App_Start\RouteConfig.cs中是否已经自动添加了Are…

55-混沌操作法之我见:一、逆势操作.(2015.2.7)

混沌操作法之我见&#xff1a;一、逆势操作 首先谈谈&#xff0c;均线以及鳄鱼线。单独的市场价格表达了t时刻价格的个体情况&#xff0c;均线表达了一段时间内价格的综合情况。t时刻的价格与均线的比较&#xff0c;表达了考虑了过去以及当前综合价格的比较情况&#xff0c;即t…

SEH链和展开操作

每次我们定义了一个新的SEH异常处理回调函数,EXCEPTION_REGISTRATION结构的prev字段都被要求填写上一个EXCEPTION_REGISTRATION结构的地址,随着应用程序对模块的调用一层层深入下去的时候,那么最后回调函数会形成一个SEH链 当程序中有多个线程在运行的时候,每个线程中都会存在各…

spring的基本知识

首先是回顾一下spring的基本知识 1、controller 控制器&#xff08;注入服务&#xff09; 2、service 服务&#xff08;注入dao&#xff09; 3、repository dao&#xff08;实现dao访问&#xff09; 4、component &#xff08;把普通pojo实例化到spring容器中&#xff0c;相当于…

vs2010 EF4.0 访问mysql

需要安装mysql-connector-net-6.3.5 6.8.9的安装完后在dbfirst里找不到对应的提供程序 链接字符串里需要 指定下编码(如果不是gbk的话) <add name"sourceEntities" connectionString"metadatares://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;pr…

Win32ASM 变长参数的理解

C语言里面 提供了一些宏 可以使用变长参数 int MsgPrintf(INT dwszBuffer,TCHAR* szCaption,TCHAR* szFormat,...){LPVOID lpszBuffer;va_list pArgList;va_start(pArgList,szFormat);lpszBuffer HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,100);_vsntprintf((LPTSTR)lpsz…

jquery判断一个div的边界是否超出另外一个div的边界

摘要&#xff1a;本文简单介绍jquery判断一个div的边界是否超出另外一个div的边界&#xff0c;如果超出边界做出相应的处理。 1、实现效果 判断前 判断后 2、实现思路 实现类似的判断&#xff0c;主要是获取两个div在浏览器中的上下左右的四至&#xff0c;在jquery中&#xff0…