美文网首页
java日常笔记-字符串查找

java日常笔记-字符串查找

作者: 其中一个cc | 来源:发表于2017-08-14 23:26 被阅读0次

//字符串查找问题汇总

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 标点符号

* 使用正则表达式 及替换标点符号replaceAll(oldstring, newstring) 将每段文字分割split()

* Unicode 字符集七个字符属性

* P:标点;

* L:字母;

* M:标记符号(一般不会单独出现);

* Z:分隔符(比如空格、换行等);

* S:符号(比如数学符号、货币符号等);

* N:数字(比如阿拉伯数字、罗马数字等);

* C:其他字符

*/

public static void searchByPunctuation(String s){

if(s.isEmpty())

return;

else{

s = s.replaceAll("[\\pP]", "");//p:Unicode属性, P:Unicode 字符集七个字符属性之一:标点字符

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!");

}

}

相关文章

  • java日常笔记-字符串查找

    //字符串查找问题汇总 public class StringSearch { /* * search from ...

  • Java编程基础(8)

    Java基础知识:Java字符串的处理(3) 11.Java查找字符串(indexOf()、lastlndexOf...

  • 面试知识点

    排序冒泡排序快速排序选择排序插入排序二路归并 查找二分查找 排序和查找的java实现 java语言Java字符串字...

  • Java 小知识点集合(一)

    一、Java中字符串indexof() 的使用方法 Java中字符串中子串的查找共有四种方法(indexof())...

  • Vim查找

    使用vim进行字符串的查找是一项日常的技能。 一、全匹配 从当前位置开始查找 查询的目标字符串是“abc”。 在命...

  • PHP字符串处理函数:strpos() -- 内置函数

    函数简介 在字符串中查找指定的字符串,查找方式为 顺序 查找。即从字符串“头”找到字符串“尾”。查找成功:返回指定...

  • js中字符串常用的方法

    charAt 根据下标查找字符串 indexOf 根据字符串查找下标 lastIndexOf 根据字符串查找下标,...

  • Python之字符串操作

    字符串截取 字符串替换-replace 字符串分割-split 字符串查找-find 字符串查找-index

  • 2018-03-29 SQL中的函数

    SQL中的函数 字符串函数: 1.charindex(查找字符串,被查找字符串[,查找起始位置])返回值,查找字符...

  • alg4th-1.1

    [TOC] algorithm 4th笔记(1.1) 二分查找 前提:数组有序BinarySearch.java ...

网友评论

      本文标题:java日常笔记-字符串查找

      本文链接:https://www.haomeiwen.com/subject/biwprxtx.html