国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java? 教程(操縱字符串中的字符)

Corwien / 2299人閱讀

操縱字符串中的字符

String類有許多方法可用于檢查字符串的內容,查找字符串中的字符或子字符串,更改大小寫以及其他任務。

按索引獲取字符和子字符串

你可以通過調用charAt()訪問器方法獲取字符串中特定索引處的字符,第一個字符的索引是0,而最后一個字符的索引是length()-1,例如,以下代碼獲取字符串中索引9處的字符:

String anotherPalindrome = "Niagara. O roar again!"; 
char aChar = anotherPalindrome.charAt(9);

索引從0開始,因此索引9處的字符為"O",如下圖所示:

如果要從字符串中獲取多個連續字符,可以使用substring方法,substring方法有兩個版本,如下表所示:

方法 描述
String substring(int beginIndex, int endIndex) 返回一個新字符串,該字符串是此字符串的子字符串;
子字符串從指定的beginIndex開始,并擴展到索引endIndex - 1處的字符。
String substring(int beginIndex) 返回一個新字符串,該字符串是此字符串的子字符串;
integer參數指定第一個字符的索引;
這里,返回的子字符串延伸到原始字符串的末尾。

以下代碼從Niagara palindrome獲取從索引11延伸到但不包括索引15的子字符串,這是“roar”一詞:

String anotherPalindrome = "Niagara. O roar again!"; 
String roar = anotherPalindrome.substring(11, 15);

操縱字符串的其他方法

以下是其他幾種用于操作字符串的String方法:

方法 描述
String[] split(String regex)
String[] split(String regex, int limit)
搜索字符串參數(包含正則表達式)指定的匹配項,并相應地將此字符串拆分為字符串數組;
可選的整數參數指定返回數組的最大大小,正則表達式在標題為“正則表達式”的課程中介紹。
CharSequence subSequence(int beginIndex, int endIndex) 返回一個索引從beginIndexendIndex - 1構造的新字符序列。
String trim() 返回刪除了前面和后面的空格的此字符串的副本。
String toLowerCase()
String toUpperCase()
返回轉換為小寫或大寫的此字符串的副本,如果不需要轉換,則這些方法返回原始字符串。
在字符串中搜索字符和子字符串

以下是一些用于在字符串中查找字符或子字符串的其他String方法,String類提供訪問器方法,返回特定字符或子字符串在字符串中的位置:indexOf()lastIndexOf()indexOf()方法從字符串的開頭向后搜索,而lastIndexOf()方法從字符串的末尾向前搜索,如果未找到字符或子字符串,indexOf()lastIndexOf()將返回-1

String類還提供了一個搜索方法contains,如果字符串包含特定的字符序列,則返回true,當你只需知道字符串包含字符序列但使用精確位置并不重要時,請使用此方法。

下表描述了各種字符串搜索方法。

方法 描述
int indexOf(int ch)
int lastIndexOf(int ch)
返回指定字符的第一次(最后一次)出現的索引。
int indexOf(int ch, int fromIndex)
int lastIndexOf(int ch, int fromIndex)
返回指定字符的第一次(最后一次)出現的索引,從指定的索引向前(向后)搜索。
int indexOf(String str)
int lastIndexOf(String str)
返回指定子字符串的第一次(最后一次)出現的索引。
int indexOf(String str, int fromIndex)
int lastIndexOf(String str, int fromIndex)
返回指定子字符串的第一次(最后一次)出現的索引,從指定的索引向前(向后)搜索。
boolean contains(CharSequence s) 如果字符串包含指定的字符序列,則返回true
CharSequence是一個由String類實現的接口,因此,你可以使用字符串作為contains()方法的參數。
將字符和子字符串替換到字符串中

String類只有很少的方法可以將字符或子字符串插入到字符串中,通常,不需要它們:你可以通過連接從字符串中刪除的子字符串以及要插入的子字符串來創建新字符串。

但是,String類確實有四種方法可以替換找到的字符或子字符串,它們是:

方法 描述
String replace(char oldChar, char newChar) 返回一個新字符串,該字符串是使用newChar替換此字符串中出現的所有oldChar
String replace(CharSequence target, CharSequence replacement) 將此字符串中與文字target序列匹配的每個子字符串替換為指定的文字replacement序列。
String replaceAll(String regex, String replacement) 將與給定正則表達式匹配的字符串的每個子字符串替換為給定的replacement
String replaceFirst(String regex, String replacement) 將匹配給定正則表達式的字符串的第一個子字符串替換為給定的replacement
一個例子

下面的類Filename演示了如何使用lastIndexOf()substring()來隔離文件名的不同部分。

以下Filename類中的方法不執行任何錯誤檢查,并假設其參數包含完整的目錄路徑和帶擴展名的文件名,如果這些方法是生產代碼,他們將驗證他們的參數是否正確構造。
public class Filename {
    private String fullPath;
    private char pathSeparator, 
                 extensionSeparator;

    public Filename(String str, char sep, char ext) {
        fullPath = str;
        pathSeparator = sep;
        extensionSeparator = ext;
    }

    public String extension() {
        int dot = fullPath.lastIndexOf(extensionSeparator);
        return fullPath.substring(dot + 1);
    }

    // gets filename without extension
    public String filename() {
        int dot = fullPath.lastIndexOf(extensionSeparator);
        int sep = fullPath.lastIndexOf(pathSeparator);
        return fullPath.substring(sep + 1, dot);
    }

    public String path() {
        int sep = fullPath.lastIndexOf(pathSeparator);
        return fullPath.substring(0, sep);
    }
}

這是FilenameDemo程序,它構造一個Filename對象并調用它的所有方法:

public class FilenameDemo {
    public static void main(String[] args) {
        final String FPATH = "/home/user/index.html";
        Filename myHomePage = new Filename(FPATH, "/", ".");
        System.out.println("Extension = " + myHomePage.extension());
        System.out.println("Filename = " + myHomePage.filename());
        System.out.println("Path = " + myHomePage.path());
    }
}

以下是該程序的輸出:

Extension = html
Filename = index
Path = /home/user

如下圖所示,我們的extension方法使用lastIndexOf來定位文件名中最后一次出現的點(.),然后substring使用lastIndexOf的返回值來提取文件擴展名 — 也就是說,從字符串的點到結尾的子字符串。此代碼假定文件名中包含點,如果文件名沒有點,則lastIndexOf返回-1,并且substring方法拋出StringIndexOutOfBoundsException

另請注意,擴展方法使用dot + 1作為substring的參數,如果點字符(.)是字符串的最后一個字符,則dot + 1等于字符串的長度,則大于字符串中的最大索引(因為索引從0開始),這是substring的合法參數,因為該方法接受的索引等于但不大于字符串的長度,并將其解釋為“字符串的結尾”。

上一篇:在數字和字符串之間轉換 下一篇:比較字符串和字符串的部分

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/72911.html

相關文章

  • Java? 教程(在數字和符串之間轉換)

    在數字和字符串之間轉換 將字符串轉換為數字 通常,程序以字符串對象中的數字數據結束 — 例如,用戶輸入的值。 包裝原始數字類型(Byte、Integer、Double、Float、Long和Short)的Number子類每個都提供一個名為valueOf的類方法,該方法將字符串轉換為該類型的對象。下面是一個示例ValueOfDemo,它從命令行獲取兩個字符串,將它們轉換為數字,并對值執行算術運算: ...

    Andrman 評論0 收藏0
  • Java? 教程(目錄)

    Java? 教程 Java教程是為JDK 8編寫的,本頁面中描述的示例和實踐沒有利用在后續版本中引入的改進。 Java教程是希望使用Java編程語言創建應用程序的程序員的實用指南,其中包括數百個完整的工作示例和數十個課程,相關課程組被組織成教程。 覆蓋基礎知識的路徑 這些教程以書籍的形式提供,如Java教程,第六版,前往Amazon.com購買。 入門 介紹Java技術和安裝Java開發軟件并使用...

    lifesimple 評論0 收藏0
  • Java學習筆記3-Number,String,StringBuilder類

    摘要:創建字符串教程字符串長度用于獲取有關對象的信息的方法稱為訪問器方法。類在中被提出,它和之間的最大不同在于的方法不是線程安全的不能同步訪問。然而在應用程序要求線程安全的情況下,則必須使用類。 一般地,當需要使用數字的時候,我們通常使用內置數據類型,如:byte、int、long、double 等。 在實際開發過程中,我們經常會遇到需要使用對象,而不是內置數據類型的情形。為了解決這個問題,...

    pkhope 評論0 收藏0
  • Java? 教程(I/O流)

    I/O流 I/O流表示輸入源或輸出目標,流可以表示許多不同類型的源和目標,包括磁盤文件、設備、其他程序和內存數組。 流支持許多不同類型的數據,包括簡單字節、原始數據類型、本地化字符和對象,有些流只是傳遞數據,其他人以有用的方式操縱和轉換數據。 無論它們如何在內部工作,所有流都為使用它們的程序提供相同的簡單模型:流是一系列數據,程序使用輸入流從源讀取數據,一次一個條目: showImg(https:...

    JerryWangSAP 評論0 收藏0
  • 一文解析SQLServer數據庫

    摘要:表名列名列名列名值值值刪楷體刪除數據是最簡單的語句了,只需要指定表名和查詢條件就行。列名統計當前條件下查詢出的數據的數量。 一文解析SQLServer數據庫 目錄...

    syoya 評論0 收藏0

發表評論

0條評論

Corwien

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<