java日常筆記-字符串查找

//字符串查找問題匯總

public class StringSearch {

/*

* search from left to right,return the position of first appear

* using indexOf()

* */

public static void searchByFirstPos(String s, String subStr){

if(s.isEmpty() || subStr.isEmpty())

return;

else{

int pos = 0;

pos = s.indexOf(subStr);

System.out.print(pos);

}

}

/*

* search from pos to right,return the position

* using indexOf(string, pos)

*/

public static void searchByAfterPos(String s, String subStr, int pos){

if(s.isEmpty() || subStr.isEmpty()|| pos < 0 || pos > s.length() - subStr.length())

return;

else{

System.out.print(s.indexOf(subStr, pos));

}

}

/*

* search from right to left, return the last appearance position

* using lastIndexOf(string)

*/

public static void searchByLastPos(String s, String subStr){

if(s.isEmpty() || subStr.isEmpty())

return;

else{

System.out.print(s.lastIndexOf(subStr));

}

}

/*

* search from right to left, return the last appearance position beforeee pos

* using lastIndexOf(string, pos)

*/

public static void searchByBeforeLastPos(String s, String subStr, int pos){

if(s.isEmpty() || subStr.isEmpty())

return;

else{

System.out.print(s.lastIndexOf(subStr, pos));

}

}

/*

* search from right to left, return the EVERY appearance position

* using indexOf(substr, pos),if find substr,changing pos, until the last of string

*/

public static void searchByAllPos(String s, String subStr){

if(s.isEmpty() || subStr.isEmpty())

return;

else{

int len = s.length();

int slen = subStr.length();

for(int i = 0 ; i < len;){

int temp = s.indexOf(subStr, i);

if(temp != -1){

System.out.print(temp);

i = temp + slen;

}

else

return;

}

}

}

/*

* search from right to left, return the EVERY appearance position by reverse order

* using lastIndexOf(substr, pos),if find substr,changing pos, until the length of string

*/

public static void searchByALLPosReverse(String s, String subStr){

if(s.isEmpty() || subStr.isEmpty())

return;

else{

int len = s.length();

int slen = subStr.length();

for(int i = len - 1 ; i >= 0;){

int temp = s.lastIndexOf(subStr, i);

if(temp != -1){

System.out.print(temp);

i = temp - 1;

}

else

return;

}

}

}

/*

* symbol 標(biāo)點(diǎn)符號

* 使用正則表達(dá)式 及替換標(biāo)點(diǎn)符號replaceAll(oldstring, newstring) 將每段文字分割split()

* Unicode 字符集七個字符屬性

* P:標(biāo)點(diǎn)屡限;

* L:字母巍耗;

* M:標(biāo)記符號(一般不會單獨(dú)出現(xiàn))晃择;

* Z:分隔符(比如空格镊靴、換行等)澡罚;

* S:符號(比如數(shù)學(xué)符號、貨幣符號等)恋谭;

* N:數(shù)字(比如阿拉伯?dāng)?shù)字话浇、羅馬數(shù)字等);

* C:其他字符

*/

public static void searchByPunctuation(String s){

if(s.isEmpty())

return;

else{

s = s.replaceAll("[\\pP]", "");//p:Unicode屬性媚赖, P:Unicode 字符集七個字符屬性之一:標(biāo)點(diǎn)字符

System.out.print(s);

}

}

public static void searchByLetter(String s){

if(s.isEmpty())

return;

else{

s = s.replaceAll("[\\pL]", "");//p:Unicode屬性

System.out.print(s);

}

}

public static void searchByNumber(String s){

if(s.isEmpty())

return;

else{

s = s.replaceAll("[\\pN]", "");//p:Unicode屬性

System.out.print(s);

}

}

public static void main(String[] args) throws Exception{

String test = "this is a string of testing 666,just a test 6,ok?";

String subtest = "test";

int position = 25;

StringSearch.searchByFirstPos(test, subtest);

StringSearch.searchByAfterPos(test, subtest, position);

StringSearch.searchByLastPos(test, subtest);

StringSearch.searchByBeforeLastPos(test, subtest, position);

StringSearch.searchByAllPos(test, subtest);

StringSearch.searchByALLPosReverse(test, subtest);

StringSearch.searchByPunctuation(test);

StringSearch.searchByLetter(test);

StringSearch.searchByNumber(test);

System.out.println("end!");

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末霜瘪,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子惧磺,更是在濱河造成了極大的恐慌颖对,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件磨隘,死亡現(xiàn)場離奇詭異缤底,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)番捂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進(jìn)店門个唧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人设预,你說我怎么就攤上這事徙歼。” “怎么了鳖枕?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵魄梯,是天一觀的道長。 經(jīng)常有香客問我宾符,道長酿秸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任魏烫,我火速辦了婚禮辣苏,結(jié)果婚禮上肝箱,老公的妹妹穿的比我還像新娘。我一直安慰自己考润,他們只是感情好狭园,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布读处。 她就那樣靜靜地躺著糊治,像睡著了一般。 火紅的嫁衣襯著肌膚如雪罚舱。 梳的紋絲不亂的頭發(fā)上井辜,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天,我揣著相機(jī)與錄音管闷,去河邊找鬼粥脚。 笑死,一個胖子當(dāng)著我的面吹牛包个,可吹牛的內(nèi)容都是我干的刷允。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼碧囊,長吁一口氣:“原來是場噩夢啊……” “哼树灶!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起糯而,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤天通,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后熄驼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體像寒,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年瓜贾,在試婚紗的時候發(fā)現(xiàn)自己被綠了诺祸。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡祭芦,死狀恐怖筷笨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情实束,我是刑警寧澤奥秆,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站咸灿,受9級特大地震影響构订,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜避矢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一悼瘾、第九天 我趴在偏房一處隱蔽的房頂上張望囊榜。 院中可真熱鬧,春花似錦亥宿、人聲如沸卸勺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽曙求。三九已至,卻和暖如春映企,著一層夾襖步出監(jiān)牢的瞬間悟狱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工堰氓, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留挤渐,地道東北人。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓双絮,卻偏偏與公主長得像浴麻,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子囤攀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)软免。 張土汪:刷leetcod...
    土汪閱讀 12,747評論 0 33
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)抚岗,斷路器或杠,智...
    卡卡羅2017閱讀 134,662評論 18 139
  • 一、 1宣蔚、請用Java寫一個冒泡排序方法 【參考答案】 public static void Bubble(int...
    獨(dú)云閱讀 1,375評論 0 6
  • Java經(jīng)典問題算法大全 /*【程序1】 題目:古典問題:有一對兔子向抢,從出生后第3個月起每個月都生一對兔子,小兔子...
    趙宇_阿特奇閱讀 1,869評論 0 2
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法胚委,類相關(guān)的語法挟鸠,內(nèi)部類的語法,繼承相關(guān)的語法亩冬,異常的語法艘希,線程的語...
    子非魚_t_閱讀 31,639評論 18 399