Java中String字串運算的介紹(程式碼範例)
這篇文章帶給大家的內容是關於Java中String字串運算的介紹(程式碼範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
一、字串運算String類別
1、概述
String是特殊的參考資料類型,它是final類別。
2.建構方法
String str = "abc";
相當於: char date[] = {'a','b ','c'};
String str = new String{data};
#3.主要方法
##char charAt(int index)傳回char指定索引處的值。 boolean contains(CharSequence s)當且僅當字串包含指定char值序列傳回trueboolean equals(Object anObject) 將次字串與指定物件進行比較#int indexOf(int ch) 傳回指定字元第一次出現的索引值int length() 傳回字串的長度,多用於迴圈的終止條件boolean matches(String regex) 判斷一個字串是否符合給定的規則表達式String replace(char oldChar,char newChar) 將字串中所有的oldChar替換為newChar#String split(String regex)將字串依照規矩進行切分String subString(int beginIndex) 傳回該字串的beginindex索引之後的字串String toLowerCase() 將該字串中的所有大寫字母變成小寫字母String toUpperCase() 將該字串中的所有小寫字母變成大寫字母String trim() 刪除該字串所有前導和尾隨的空格並傳回/*類型轉換*/static String valueOf(boolean b)
#傳回boolean參數的字串boolean形式。
static String valueOf(char c)
傳回 char參數的字串 char形式。
static String valueOf(char[] data)
傳回 char陣列參數的字串 char形式。
static String valueOf(char[] data, int offset, int count)
傳回 char陣列參數的特定子陣列的字串 char形式。
static String valueOf(double d)
傳回 double參數的字串 double形式。
static String valueOf(float f)
傳回 float參數的字串 float形式。
static String valueOf(int i)
傳回 int參數的字串 int形式。
static String valueOf(long l)
傳回 long參數的字串 long形式。
static String valueOf(Object obj)
傳回 Object參數的字串 Object形式。
4.示範案例
/** * @ author: PrincessHug * @ date: 2019/2/7, 17:09 * @ Blog: https://www.cnblogs.com/HelloBigTable/ */ public class StringAPIDemo { /** * 需求:计算字符串中大写字母、小写字母、数字出现的次数 * @param args 参数 */ public static void main(String[] args) { //通过用户输入得到一个字符串 String str = getString(); getCount(str); } private static void getCount(String str) { int upperNum = 0; int lowerNum = 0; int digit = 0; for (int i = 0;i< str.length();i++){ char c = str.charAt(i); /** * AscII码数字1-9(48-57),A-Z(65-91),a-z(97-123) */ if (c>=48 && c<=57){ digit++; } if (c>=65 && c<=91){ upperNum++; } if (c>=97 && c<=123){ lowerNum++; } } System.out.println("数字出现的次数为:" + digit); System.out.println("大写字母出现的次数为:" + upperNum); System.out.println("小写字母出现的次数为:" + lowerNum); } private static String getString() { System.out.println("请输入一个字符串:"); Scanner scanner = new Scanner(System.in); String s = scanner.nextLine(); return s; } }
** * @ author: PrincessHug * @ date: 2019/2/7, 17:34 * @ Blog: https://www.cnblogs.com/HelloBigTable/ */ public class FindChildStringCount { /** * 需求:查询父字符串中某一个子字符串的数量 * @param args */ public static void main(String[] args) { String parent = "itstar123qweritstar()%%dfitstarsdgji"; String child = "itstar"; int num1 = getChildStringCount01(parent, child); int num2 = getChildStringCount02(parent,child); int num3 = getChildStringCount03(parent,child); System.out.println("方法一:" + num1 + "次。"); System.out.println("方法二:" + num2 + "次。"); System.out.println("方法三:" + num3 + "次。"); } private static int getChildStringCount02(String parent, String child) { String[] s = parent.split(child); if (child.equals(parent.substring(parent.length()-child.length()))){ return s.length; }else { return s.length-1; } } private static int getChildStringCount01(String parent,String child) { int num = 0; int index = 0; while ((index = parent.indexOf(child)) != -1){ num++; parent = parent.substring(index + child.length()); } return num; } private static int getChildStringCount03(String parent,String child){ String[] s = parent.split(child); int sum = 0; for (int i = 0;i < s.length;i++){ sum += s[i].length(); } return sum==parent.length()-(s.length-1)*child.length()?s.length-1:s.length; } }
5.String的規則符合(正規表示式)
^】條件:(1)位數為5-15位元
(2)开头数字不能为0
正则表达式为:regex = [1-9]\\d{4-14}
需求二:验证手机号码是否正确
手机号条件:
(1)位数为11位
(2)第一位为1
(3)第二位为3-9
正则表达式为:regex = [1]][3-9]\\d{9}
需求三:验证邮箱是否正确
邮箱条件:
(1)@之前为邮箱名,字母、数字、下划线都可以
(2)@符号
(3)@之后为邮箱域名(qq.com/163.com.cn)
正则表达式为:regex = \\w+@[a-zA-Z0-9]+(\\.\\w{2,3})+
以下为需求一:验证qq号码是否正确,需求二、三只需将regex修改为对应的正则表达式即可。
/** * @ author: PrincessHug * @ date: 2019/2/7, 21:51 * @ Blog: https://www.cnblogs.com/HelloBigTable/ */ public class MatchQQ { public static void main(String[] args) { while (true) { String qq = getQQ(); if (qq.equals("stop")){ break; }else { matchQQ(qq); } } } /** * @return 返回获取的qq号 */ private static String getQQ() { Scanner sc = new Scanner(System.in); System.out.println("请输入您的qq号"); String s = sc.nextLine(); return s; } /** * 验证qq号是否匹配regex表达式 * @param qq 获得用户输入的qq号 */ private static void matchQQ(String qq) { String regex = qqRegex(); if (qq.matches(regex)) { System.out.println("QQ号正确!"); } else { System.out.println("QQ号错误!"); } } /** * @return 返回qq的正则表达式 */ private static String qqRegex() { String regex = "[1-9][0-9]{4,14}"; return regex; } }
以上是Java中String字串運算的介紹(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Java 8引入了Stream API,提供了一種強大且表達力豐富的處理數據集合的方式。然而,使用Stream時,一個常見問題是:如何從forEach操作中中斷或返回? 傳統循環允許提前中斷或返回,但Stream的forEach方法並不直接支持這種方式。本文將解釋原因,並探討在Stream處理系統中實現提前終止的替代方法。 延伸閱讀: Java Stream API改進 理解Stream forEach forEach方法是一個終端操作,它對Stream中的每個元素執行一個操作。它的設計意圖是處

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

膠囊是一種三維幾何圖形,由一個圓柱體和兩端各一個半球體組成。膠囊的體積可以通過將圓柱體的體積和兩端半球體的體積相加來計算。本教程將討論如何使用不同的方法在Java中計算給定膠囊的體積。 膠囊體積公式 膠囊體積的公式如下: 膠囊體積 = 圓柱體體積 兩個半球體體積 其中, r: 半球體的半徑。 h: 圓柱體的高度(不包括半球體)。 例子 1 輸入 半徑 = 5 單位 高度 = 10 單位 輸出 體積 = 1570.8 立方單位 解釋 使用公式計算體積: 體積 = π × r2 × h (4

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

PHP和Python各有優勢,適合不同場景。 1.PHP適用於web開發,提供內置web服務器和豐富函數庫。 2.Python適合數據科學和機器學習,語法簡潔且有強大標準庫。選擇時應根據項目需求決定。
