Java中s.charAt(index)用于提取字符串s中的特定字符操作
charAt(int index)方法是一個(gè)能夠用來檢索特定索引下的字符的String實(shí)例的方法.
charAt()方法返回指定索引位置的char值。索引范圍為0~length()-1.
如: str.charAt(0)檢索str中的第一個(gè)字符,str.charAt(str.length()-1)檢索最后一個(gè)字符.
警告:在字符串s中越界訪問字符是一種常見的程序設(shè)計(jì)錯(cuò)誤。為避免此類錯(cuò)誤要確保使用的下標(biāo)不會(huì)超過s.length()-1.
public class hash { public static void main(String[] args) { // TODO Auto-generated method stub String str = 'This is yiibai'; // prints character at 1st location System.out.println(str.charAt(0)); // prints character at 5th location i.e white-space character System.out.println(str.charAt(4)); // prints character at 18th location System.out.println(str.charAt(6)); }}
結(jié)果如下:
補(bǔ)充知識(shí):JAVA 提取字符串常用的兩種方法(subString、正則表達(dá)式)
1.通過subString()方法來對字符串進(jìn)行操作
subString()語法:
public String substring(int beginIndex)
或
public String substring(int beginIndex, int endIndex)
1、取得的字符串長度為:endIndex - beginIndex;
2、從beginIndex開始取,到endIndex結(jié)束,從0開始數(shù),其中不包括endIndex位置的字符
示例:
String str1='abdc686512ffsc1267d'; String substr1=str1.substring(4);//指定區(qū)間(不包括結(jié)束索引處) String substr2=str1.substring(4, 10); System.out.println('substr1='+substr1); System.out.println('substr2='+substr2); System.out.println('*****************************');//結(jié)合使用indexOf()靈活截取示例 String str2='<![CDATA[3-4級(jí)]]>'; String cutstr=str2.substring(9, str2.indexOf(']]')); System.out.println('cutstr='+cutstr);
結(jié)果:
substr1=686512ffsc1267dsubstr2=686512*****************************cutstr=3-4級(jí)
2.使用正則表達(dá)式+Pattern()和Matcher()
Pattern 類:
pattern 對象是一個(gè)正則表達(dá)式的編譯表示。Pattern 類沒有公共構(gòu)造方法。要?jiǎng)?chuàng)建一個(gè) Pattern 對象,你必須首先調(diào)用其公共靜態(tài)編譯方法,它返回一個(gè) Pattern 對象。該方法接受一個(gè)正則表達(dá)式作為它的第一個(gè)參數(shù)。
Matcher 類:
Matcher 對象是對輸入字符串進(jìn)行解釋和匹配操作的引擎。與Pattern 類一樣,Matcher 也沒有公共構(gòu)造方法。你需要調(diào)用 Pattern 對象的 matcher 方法來獲得一個(gè) Matcher 對象。
完整示例
System.out.println('正則表達(dá)式:'); //正則表達(dá)式 String str2='<![CDATA[3-4級(jí)]]>'; String fengli='[CDATA[(.*?)]]>';//提取風(fēng)級(jí)的正則表達(dá)式 Pattern pafengli=Pattern.compile(fengli); Matcher matfengli = pafengli.matcher(str2); if(matfengli.find()) { cutstr = matfengli.group(1); //group為捕獲組 System.out.println('cutstr='+cutstr); } else System.out.println('沒找到');
正則表達(dá)式:
cutstr=3-4級(jí)
注意: String fengli='[CDATA[(.*?)]]>';中的斜杠為轉(zhuǎn)義標(biāo)志
以上這篇Java中s.charAt(index)用于提取字符串s中的特定字符操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. idea設(shè)置代碼格式化的方法步驟2. Docker究竟是什么 為什么這么流行 它的優(yōu)點(diǎn)和缺陷有哪些?3. idea重置默認(rèn)配置的方法步驟4. 解決idea中Terminal終端無法執(zhí)行GIT命令+Terminal 中文亂碼問題5. IntelliJ IDEA 2020.2 配置大全詳細(xì)圖文教程(更新中)6. PHP內(nèi)核探索 —— 如何執(zhí)行PHP腳本:Zend引擎是如何解釋PHP腳本的7. 永久解決 Intellij idea 報(bào)錯(cuò):Error :java 不支持發(fā)行版本5的問題8. 教你在 IntelliJ IDEA 中使用 VIM插件的詳細(xì)教程9. Python使用oslo.vmware管理ESXI虛擬機(jī)的示例參考10. 解決docker與vmware的沖突問題
