欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java字符串查找的方法總結(jié)

 更新時間:2024年05月06日 10:50:52   作者:Itmastergo  
在給定的字符串中查找字符或字符串是比較常見的操作,字符串查找分為兩種形式:一種是在字符串中獲取匹配字符(串)的索引值,另一種是在字符串中獲取指定索引位置的字符,本文給大家總結(jié)了Java字符串查找的方法,需要的朋友可以參考下

引言

在給定的字符串中查找字符或字符串是比較常見的操作。字符串查找分為兩種形式:一種是在字符串中獲取匹配字符(串)的索引值,另一種是在字符串中獲取指定索引位置的字符。

根據(jù)字符查找

String 類的 indexOf() 方法和 lastlndexOf() 方法用于在字符串中獲取匹配字符(串)的索引值。

1. indexOf() 方法

indexOf() 方法用于返回字符(串)在指定字符串中首次出現(xiàn)的索引位置,如果能找到,則返回索引值,否則返回 -1。該方法主要有兩種重載形式:

str.indexOf(value)
str.indexOf(value,int fromIndex)

其中,str 表示指定字符串;value 表示待查找的字符(串);fromIndex 表示查找時的起始索引,如果不指定 fromIndex,則默認(rèn)從指定字符串中的開始位置(即 fromIndex 默認(rèn)為 0)開始查找。

例如,下列代碼在字符串“Hello Java”中查找字母 v 的索引位置。

String s = "Hello Java";
int size = s.indexOf('v');    // size的結(jié)果為8

上述代碼執(zhí)行后 size 的結(jié)果為 8,它的查找過程如下圖所示。

例 1

編寫一個簡單的 Java 程序,演示 indexOf() 方法查找字符串的用法,并輸出結(jié)果。代碼如下:

public static void main(String[] args) {
    String words = "today,monday,sunday";
    System.out.println("原始字符串是'"+words+"'");
    System.out.println("indexOf(\"day\")結(jié)果:"+words.indexOf("day"));
    System.out.println("indexOf(\"day\",5)結(jié)果:"+words.indexOf("day",5));
    System.out.println("indexOf(\"o\")結(jié)果:"+words.indexOf("o"));
    System.out.println("indexOf(\"o\",6)結(jié)果:"+words.indexOf("o",6));
}

運(yùn)行后的輸出結(jié)果如下:

原始字符串是'today,monday,sunday'
indexOf("day")結(jié)果:2
indexOf("day",5)結(jié)果:9
indexOf("o")結(jié)果:1
indexOf("o",6)結(jié)果:7

2. lastlndexOf() 方法

lastIndexOf() 方法用于返回字符(串)在指定字符串中最后一次出現(xiàn)的索引位置,如果能找到則返回索引值,否則返回 -1。該方法也有兩種重載形式:

str.lastIndexOf(value)
str.lastlndexOf(value, int fromIndex)

注意:lastIndexOf() 方法的查找策略是從右往左查找,如果不指定起始索引,則默認(rèn)從字符串的末尾開始查找。

例 2

編寫一個簡單的 Java 程序,演示 lastIndexOf() 方法查找字符串的用法,并輸出結(jié)果。代碼如下:

public static void main(String[] args) {
    String words="today,monday,Sunday";
    System.out.println("原始字符串是'"+words+"'");
    System.out.println("lastIndexOf(\"day\")結(jié)果:"+words.lastIndexOf("day"));
    System.out.println("lastIndexOf(\"day\",5)結(jié)果:"+words.lastIndexOf("day",5));
    System.out.println("lastIndexOf(\"o\")結(jié)果:"+words.lastIndexOf("o"));
    System.out.println("lastlndexOf(\"o\",6)結(jié)果:"+words.lastIndexOf("o",6));
}

運(yùn)行后的輸出結(jié)果如下:

原始字符串是'today,monday,Sunday'
lastIndexOf("day")結(jié)果:16
lastIndexOf("day",5)結(jié)果:2
lastIndexOf("o")結(jié)果:7
lastlndexOf("o",6)結(jié)果:1

根據(jù)索引查找

String 類的 charAt() 方法可以在字符串內(nèi)根據(jù)指定的索引查找字符,該方法的語法形式如下:

字符串名.charAt(索引值)

提示:字符串本質(zhì)上是字符數(shù)組,因此它也有索引,索引從零開始。

charAt() 方法的使用示例如下:

String words = "today,monday,sunday";
System.out.println(words.charAt(0));    // 結(jié)果:t
System.out.println(words.charAt(1));    // 結(jié)果:o
System.out.println(words.charAt(8));    // 結(jié)果:n

到此這篇關(guān)于Java字符串查找的方法總結(jié)的文章就介紹到這了,更多相關(guān)Java字符串查找內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mybatis框架之工廠模式(Factory Pattern)

    Mybatis框架之工廠模式(Factory Pattern)

    MyBatis中使用工廠模式來管理和創(chuàng)建SqlSession對象,從而簡化數(shù)據(jù)庫訪問的配置和管理過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • Java并發(fā)編程變量可見性避免指令重排使用詳解

    Java并發(fā)編程變量可見性避免指令重排使用詳解

    這篇文章主要為大家介紹了Java并發(fā)編程變量可見性避免指令重排使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • java通過Callable和Future來接收線程池的執(zhí)行結(jié)果

    java通過Callable和Future來接收線程池的執(zhí)行結(jié)果

    這篇文章主要介紹了java通過Callable和Future來接收線程池的執(zhí)行結(jié)果,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Java集合之Set、HashSet、LinkedHashSet和TreeSet深度解析

    Java集合之Set、HashSet、LinkedHashSet和TreeSet深度解析

    這篇文章主要介紹了Java集合之Set、HashSet、LinkedHashSet和TreeSet深度解析,List是有序集合的根接口,Set是無序集合的根接口,無序也就意味著元素不重復(fù),更嚴(yán)格地說,Set集合不包含一對元素e1和e2 ,使得e1.equals(e2) ,并且最多一個空元素,需要的朋友可以參考下
    2023-09-09
  • 跟我學(xué)Java Swing之游戲設(shè)計(jì)(1)

    跟我學(xué)Java Swing之游戲設(shè)計(jì)(1)

    跟我學(xué)Java Swing之游戲設(shè)計(jì)(1)...
    2006-12-12
  • Java中正則表達(dá)式的使用和詳解(上)

    Java中正則表達(dá)式的使用和詳解(上)

    這篇文章主要介紹了Java中正則表達(dá)式的使用和詳解,包括匹配驗(yàn)證驗(yàn)證email是否正確,在字符串中查詢字符或者字符串的代碼實(shí)例,需要的朋友可以參考下
    2017-04-04
  • IDEA新建JAVA項(xiàng)目簡單圖文教程

    IDEA新建JAVA項(xiàng)目簡單圖文教程

    這篇文章主要給大家介紹了關(guān)于IDEA新建JAVA項(xiàng)目的相關(guān)資料,IDEA是現(xiàn)在java中最為常用的編譯器,所以如何使用IDEA來創(chuàng)建java項(xiàng)目呢,這里給大家總結(jié)下,需要的朋友可以參考下
    2023-08-08
  • 深入淺析Java中普通代碼塊、構(gòu)造代碼塊與靜態(tài)代碼塊

    深入淺析Java中普通代碼塊、構(gòu)造代碼塊與靜態(tài)代碼塊

    這篇文章主要介紹了Java中普通代碼塊、構(gòu)造代碼塊與靜態(tài)代碼塊的相關(guān)資料,靜態(tài)代碼塊>Main()>構(gòu)造代碼塊 。非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-08-08
  • SpringMVC 接收前端傳遞的參數(shù)四種方式小結(jié)

    SpringMVC 接收前端傳遞的參數(shù)四種方式小結(jié)

    這篇文章主要介紹了SpringMVC 接收前端傳遞的參數(shù)四種方式小結(jié),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java內(nèi)存劃分:運(yùn)行時數(shù)據(jù)區(qū)域

    Java內(nèi)存劃分:運(yùn)行時數(shù)據(jù)區(qū)域

    聽說Java運(yùn)行時環(huán)境的內(nèi)存劃分是挺進(jìn)BAT的必經(jīng)之路,這篇文章主要給大家介紹了關(guān)于Java運(yùn)行時數(shù)據(jù)區(qū)域(內(nèi)存劃分)的相關(guān)資料,需要的朋友可以參考下
    2021-07-07

最新評論