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.pswp.cn/news/375323.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375323.shtml
英文地址,請注明出處:http://en.pswp.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…