最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java學(xué)習(xí)字符串之方法返回、跳出嵌套循環(huán)及正則表達(dá)式

 更新時(shí)間:2026年03月03日 10:39:23   作者:HanryLi  
這篇文章主要介紹了Java學(xué)習(xí)字符串之方法返回、跳出嵌套循環(huán)及正則表達(dá)式的相關(guān)資料,包括字符串的基本操作(如長(zhǎng)度、截取、替換等)以及正則表達(dá)式的匹配和替換操作,需要的朋友可以參考下

字符串

字符串(均可以查看API幫助文檔查找更多方法):

String

String(字符串不可變,若修改就會(huì)new出一個(gè)新對(duì)象)

(int型)length() 返回字符串長(zhǎng)度

(char型)charAt(int index) 取指定索引的字符(索引從 0 開(kāi)始)

(boolean型)contains(CharSequence s) 判斷是否包含指定子串

(boolean型)starsWith(String prefix)/endsWith(String suffix) 判斷開(kāi)頭 / 結(jié)尾

(boolean型)equals(Object obj)內(nèi)容相等判斷(別用 ==,因?yàn)?nbsp;== 對(duì)引用類型比較的是內(nèi)存地址,而new出來(lái)的字符串即使內(nèi)容相同,也會(huì)是不同的對(duì)象,地址不同)

(boolean型) equalsIgnoreCase(String another) 忽略大小寫比較內(nèi)容

(boolean型) isEmpty() 判斷是否為空字符串

(String型)substring(int beginIndex) 從beginIndex(開(kāi)始索引)截取到末尾

(String型)substring(int beginIndex, int endIndex) 左閉右開(kāi),含頭不含尾截取字符串

(String [])split(String regex) 按正則拆分字符串,用 “正則表達(dá)式” 作為分隔符,把一個(gè)大字符串拆分成多個(gè)小字符串,存到數(shù)組里。

String str = "a, b; c|d";
String[] result = str.split("[,;|]");
// 正則 [,;|] 表示“逗號(hào)、分號(hào)、豎線中的任意一個(gè)”
// 結(jié)果是 ["a", " b", " c", "d"] → 按這幾個(gè)符號(hào)把字符串拆成了4部分

(String型)replace(CharSequence old, CharSequence new) 全量替換(不支持正則)返回替換后的新字符串

String str = "a1b1c1";
String result = str.replace("1", "x");
// 結(jié)果是 "axbxcx" → 所有的"1"都被替換成了"x"

(String型)replaceAll(String regex, String replacement) 正則替換,返回正則替換后的新字符串

String str = "a1b22c333";
String result = str.replaceAll("\\d+", "x");
// 正則 \\d+ 表示“一個(gè)或多個(gè)數(shù)字”
// 結(jié)果是 "axbxcx" → 不管是1位、2位還是3位數(shù)字,都被替換成了"x"

(String型)toLowerCase()/toUpperCase() 轉(zhuǎn)小寫 / 大寫

(String型)valueOf(任意類型) 靜態(tài)方法,把其他類型轉(zhuǎn)字符串

參數(shù)寫法能接收的類型
CharSequence sString、StringBuilder 等
String prefix只能是 String
Object obj任意類型(String、Integer 等)

StringBuilder

可變字符序列,單線程場(chǎng)景首選,效率高,無(wú)線程安全保障核心是直接修改本身,不生成新對(duì)象,適合頻繁拼接 / 修改

構(gòu)造容器:StringBuilder()/StringBuilder(String init)

append(任意類型) 拼接

insert(int offset, 任意類型) 指定位置(索引)插入內(nèi)容

delete(int start, int end) 刪除指定區(qū)間字符(左閉右開(kāi))

replace(int start, int end, String str):替換指定區(qū)間(左閉右開(kāi))

reverse() 字符串反轉(zhuǎn)

toString() 轉(zhuǎn)為 String 類型

可以鏈?zhǔn)秸{(diào)用

StringJoiner

解決帶分隔符拼接(如 a,b,c),無(wú)需手動(dòng)處理首尾分隔符

構(gòu)造容器:

StringJoiner(分隔符) 僅指定分隔符

StringJoiner(分隔符, 前綴, 后綴):帶前后綴

add(String str) 添加單個(gè)元素

merge(StringJoiner other) 合并另一個(gè) StringJoiner,other容器放在調(diào)用該方法容器的后面

toString() 轉(zhuǎn)為String類型

可以鏈?zhǔn)秸{(diào)用

方法返回

在寫函數(shù)時(shí),如果要返回多個(gè)數(shù)據(jù),可以把這些數(shù)據(jù)放在一個(gè)容器中(集合,數(shù)組),再把容器返回

跳出嵌套循環(huán)

在循環(huán)執(zhí)行過(guò)程中,如果有循環(huán)嵌套,break無(wú)法跳出我們想要的循環(huán),就可以在循環(huán)體(while,for,switch)前面加上一個(gè)標(biāo)識(shí)符和一個(gè)冒號(hào)(符合標(biāo)識(shí)符命名規(guī)范即可,循環(huán)就可以叫l(wèi)oop),在break那里,改為break 標(biāo)識(shí)符(break loop;)

當(dāng)然main方法也是一個(gè)線程,我在需要跳出循環(huán)處結(jié)束main方法這個(gè)主線程也可以,因此,把break;替換成return; return 0;正常狀態(tài)結(jié)束,其他數(shù)字表示異常狀態(tài)結(jié)束

當(dāng)然還可以用System.exit(0);來(lái)跳出這個(gè)虛擬機(jī)的運(yùn)行。

三者前者是跳出標(biāo)識(shí)符運(yùn)行的線程(后續(xù)如果有代碼,依然可以運(yùn)行),中者是跳出main函數(shù),主線程結(jié)束,后者是跳出整個(gè)Java虛擬機(jī),整個(gè)程序立刻結(jié)束

正則表達(dá)式

基礎(chǔ)匹配符

符號(hào)含義示例
.匹配任意單個(gè)字符(除了換行符)a.c 匹配 abca1c、a c
[]匹配方括號(hào)內(nèi)的任意一個(gè)字符[abc] 匹配 a、b 或 c
[^]匹配不在方括號(hào)內(nèi)的任意一個(gè)字符[^abc] 匹配除 ab、c 之外的字符
-在[]中表示范圍[a-z] 匹配小寫字母,[0-9] 匹配數(shù)字

預(yù)定義字符集

符號(hào)含義
\d匹配數(shù)字(等價(jià)于 [0-9]
\D匹配非數(shù)字(等價(jià)于 [^0-9]
\w匹配字母、數(shù)字、下劃線(等價(jià)于 [a-zA-Z0-9_]
\W匹配非字母、數(shù)字、下劃線
\s匹配空白字符(空格、制表符、換行等)
\S匹配非空白字符

數(shù)量限定符

用來(lái)指定前面的字符或組要出現(xiàn)多少次

符號(hào)含義示例
*匹配 0 次或多次a* 匹配 ""、a、aa、aaa...
+匹配 1 次或多次a+ 匹配 a、aaaaa...
?匹配 0 次或 1 次a? 匹配 "" 或 a
{n}精確匹配 n 次a{3} 匹配 aaa
{n,}匹配至少 n 次a{2,} 匹配 aa、aaa...
{n,m}匹配 n 到 m 次a{2,4} 匹配 aa、aaa、aaaa

邊界匹配符

用來(lái)定位字符串的位置,不匹配任何字符

符號(hào)含義示例
^匹配字符串的開(kāi)頭^abc 匹配以 abc 開(kāi)頭的字符串
$匹配字符串的結(jié)尾abc$ 匹配以 abc 結(jié)尾的字符串
\b匹配單詞邊界(比如空格、標(biāo)點(diǎn))\bcat\b 匹配獨(dú)立的 cat,不匹配 category 里的 cat

邏輯與分組

符號(hào)含義示例
()分組,把多個(gè)字符當(dāng)作一個(gè)整體處理(ab)+ 匹配 ab、abab、ababab...
``或,匹配左右任意一個(gè)表達(dá)式`ab匹配ab`
\num引用第 num 個(gè)分組的內(nèi)容(反向引用)(a)\1 匹配 aa

轉(zhuǎn)義字符

如果想匹配 .、*、( 這類有特殊含義的符號(hào),需要在前面加 \ 進(jìn)行轉(zhuǎn)義。匹配小數(shù)點(diǎn) . 要寫成 \.;匹配星號(hào) * 要寫成 \*

常見(jiàn)示例

匹配手機(jī)號(hào)^1[3-9]\\d{9}$
匹配郵箱^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*$
匹配 URL^https?://[\\w-]+(\\.[\\w-]+)+(/[\\w-./?%&=]*)?$

匹配18 位身份證

^[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}([0-9Xx])$

使用方法

場(chǎng)景代碼實(shí)例
驗(yàn)證格式String regex = "你的正則"; boolean legal = 目標(biāo)字符串.matches(regex);
替換內(nèi)容String result = 目標(biāo)字符串.replaceAll("你的正則", "替換后的內(nèi)容");
拆分字符串String[] arr = 目標(biāo)字符串.split("你的正則");
提取內(nèi)容Pattern p = Pattern.compile("你的正則"); Matcher m = p.matcher(目標(biāo)字符串); while(m.find()) { System.out.println(m.group()); }

總結(jié) 

到此這篇關(guān)于Java學(xué)習(xí)字符串之方法返回、跳出嵌套循環(huán)及正則表達(dá)式的文章就介紹到這了,更多相關(guān)Java字符串方法返回、跳出嵌套循環(huán)及正則內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mybatis與Jpa的區(qū)別和性能對(duì)比總結(jié)

    Mybatis與Jpa的區(qū)別和性能對(duì)比總結(jié)

    mybatis和jpa兩個(gè)持久層框架,從底層到用法都不同,但是實(shí)現(xiàn)的功能是一樣的,所以說(shuō)一直以來(lái)頗有爭(zhēng)議,所以下面這篇文章主要給大家介紹了關(guān)于Mybatis與Jpa的區(qū)別和性能對(duì)比的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • IDEA中調(diào)用方法時(shí),如何同步顯示方法的注釋信息

    IDEA中調(diào)用方法時(shí),如何同步顯示方法的注釋信息

    這篇文章主要介紹了IDEA中調(diào)用方法時(shí),如何同步顯示方法的注釋信息問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • SpringBoot集成Validation參數(shù)校驗(yàn)

    SpringBoot集成Validation參數(shù)校驗(yàn)

    這篇文章主要為大家詳細(xì)介紹了SpringBoot集成Validation參數(shù)校驗(yàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Java Web Fragment在項(xiàng)目中使用方法詳解

    Java Web Fragment在項(xiàng)目中使用方法詳解

    這篇文章主要介紹了Web Fragment在項(xiàng)目中使用方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • java用靜態(tài)工廠代替構(gòu)造函數(shù)使用方法和優(yōu)缺點(diǎn)

    java用靜態(tài)工廠代替構(gòu)造函數(shù)使用方法和優(yōu)缺點(diǎn)

    這篇文章主要介紹了java用靜態(tài)工廠代替構(gòu)造函數(shù)使用方法和優(yōu)缺點(diǎn),需要的朋友可以參考下
    2014-02-02
  • 使用mybatisplus接收mysql字段為json類型的數(shù)據(jù)方式

    使用mybatisplus接收mysql字段為json類型的數(shù)據(jù)方式

    這篇文章主要介紹了使用mybatisplus接收mysql字段為json類型的數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • IDEA怎么設(shè)置maven配置

    IDEA怎么設(shè)置maven配置

    這篇文章主要介紹了IDEA怎么設(shè)置maven配置,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • MyBatis-Plus 插件擴(kuò)展的實(shí)現(xiàn)

    MyBatis-Plus 插件擴(kuò)展的實(shí)現(xiàn)

    MyBatis-Plus通過(guò)插件擴(kuò)展機(jī)制增強(qiáng)功能,基于MyBatis Interceptor攔截器,包括分頁(yè)插件、邏輯刪除、SQL性能分析和樂(lè)觀鎖等,開(kāi)發(fā)者可自定義插件以適應(yīng)特定需求,有效地增強(qiáng)SQL執(zhí)行過(guò)程的控制和優(yōu)化,同時(shí)注意插件使用的性能影響和執(zhí)行順序
    2024-09-09
  • Java OpenCV圖像處理之背景消除

    Java OpenCV圖像處理之背景消除

    GMM(高斯混合模型)是基于像素樣本統(tǒng)計(jì)信息的背景表示方法,利用像素在較長(zhǎng)時(shí)間內(nèi)大量樣本值的概率密度等統(tǒng)計(jì)信息表示別境,然后使用統(tǒng)計(jì)差分進(jìn)行目標(biāo)像素判斷達(dá)到預(yù)期效果。本文將利用GMM方法實(shí)現(xiàn)圖像背景消除,需要的可以參考一下
    2022-02-02
  • Spring Data中domain模塊的使用

    Spring Data中domain模塊的使用

    Spring Data是一個(gè)流行的數(shù)據(jù)訪問(wèn)框架,本文主要介紹了Spring Data中domain模塊的使用,并展示如何使用它來(lái)優(yōu)化我們的數(shù)據(jù)訪問(wèn)層,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03

最新評(píng)論

太和县| 鄂伦春自治旗| 大洼县| 石城县| 林口县| 蓬安县| 勐海县| 东城区| 宜州市| 沽源县| 临海市| 无棣县| 郑州市| 北海市| 呈贡县| 攀枝花市| 普格县| 宜兰市| 荣成市| 犍为县| 西林县| 灌阳县| 平度市| 佛山市| 灌云县| 塘沽区| 会理县| 东海县| 射洪县| 庄河市| 清镇市| 伊金霍洛旗| 吉林市| 临桂县| 莲花县| 镇远县| 武夷山市| 连山| 郁南县| 扎鲁特旗| 札达县|