String截取指定字符

截取指定字符类

/**
 * 截取指定字段
 */
public class SubString {

    public static String subString(String str, String strStart, String strEnd) {

        /* 找出指定的2个字符在 该字符串里面的 位置 */
        int strStartIndex = str.indexOf(strStart);
        int strEndIndex = str.indexOf(strEnd)+1;

        /* index为负数 即表示该字符串中没有该字符 */
        if (strStartIndex < 0) {
            return "字符串 :" + str + "中不存在 " + strStart + ", 无法截取目标字符串";
        }
        if (strEndIndex < 0) {
            return "字符串 :" + str + "中不存在 " + strEnd + ", 无法截取目标字符串";
        }
        /* 开始截取 */
        String result = str.substring(strStartIndex, strEndIndex);
        return result;
    }
}

进行测试类

public class StrSub {

    public static void main(String[] args){
        String str="中华人民共和国万岁!";
        if(str.indexOf("共和国") != -1){//判断是否存在截取的字符
            System.out.println("截取:");

            String result = SubString.subString(str,"共","!");
            System.out.println(result);
        }else{
            System.out.println("不存在字符");
        }
    }
}

结果:

截取:
共和国万岁!

也可以使用java自带的截取方法

public class StrSub {

    public static void main(String[] args){
        String str="中华人民共和国万岁!";
        if(str.indexOf("共和国") != -1){//判断是否存在截取的字符
            System.out.println("截取:");

            String result = str.substring(str.indexOf("共"),str.indexOf("岁")+1);
            System.out.println(result);
        }else{
            System.out.println("不存在字符");
        }
    }
}

结果:

截取:
共和国万岁





你可能感兴趣的:(java)