Java中String的用法

306 阅读1分钟

删除字符串中所有出现的字符

    String a="123444344";
        //12444
        a=a.replaceAll("34","");

删除字符串中 指定下标区间的数据

String test = ("test123test123");
test = test.substring(5,12); 

结果

test = 23test1

截取某个字符之前或之后 (可以是字符串)

        String str = "123?456";
//        截取?之前字符串 123
          str.substring(0, str.indexOf("?"));
//        截取?之后字符串 456
        String str1=str.substring(0, str.indexOf("?"));
        String str2=str.substring(str1.length()+1, str.length());

根据下标截取

 System.out.println(a.substring(0,3));

在这里插入图片描述
截取两个字符串中间的值

   //此方法用来接取 某一个字符到某一个字符之间的内容
    public static String    subString(String str, String strStart, String strEnd) {
        /* 找出指定的2个字符在 该字符串里面的 位置 */
        int strStartIndex = str.indexOf(strStart);
        int strEndIndex = str.indexOf(strEnd);
        /* index 为负数 即表示该字符串中 没有该字符 */
        if (strStartIndex < 0) {
            return "字符串 :---->" + str + "<---- 中不存在 " + strStart + ", 无法截取目标字符串";
        }
        if (strEndIndex < 0) {
            return "字符串 :---->" + str + "<---- 中不存在 " + strEnd + ", 无法截取目标字符串";
        }
        /* 开始截取 */
        String result = str.substring(strStartIndex, strEndIndex).substring(strStart.length());
        return result;
    }

得到某个符号第几次出现的下标

    public static void main(String[] args) {
        String a="123,456,789";
        System.out.println(getIndex(a,2,","));

    }   //test = test.replace("chaoji","");
    public static int getIndex(String string, int i, String str) {
        //这里是获取"/"符号第三次出现的下标
//        Matcher slashMatcher = Pattern.compile("/").matcher(string);
        Matcher slashMatcher = Pattern.compile(str).matcher(string);
        int mIdx = 0;
        while (slashMatcher.find()) {
            mIdx++;
            //当"/"符号第三次出现的位置
            if (mIdx == i) {
                break;
            }
        }
        return slashMatcher.start();
    }

结果

7

获得某个符号最后出现的下标

String str="1,2,3,";
 
//获取最后一个道号的下标值,从0开始。
int lastIndexOf = str.lastIndexOf(","); //结果:5

String根据分隔符转成list

        String a="123,456,789,abc,def";


        List<String> idList = Arrays.asList(a.split(","));
        System.out.println("idList = " + idList);

结果

idList = [123, 456, 789, abc, def]

截取字符串中数字部分

		char[]chs="hycx525xx123".toCharArray();
		String userorderno="";
		for (int i = 0; i < chs.length; i++) {
			if(chs[i]>=48&&chs[i]<=57){
				userorderno=userorderno+String.valueOf(chs[i]);
			}
		}
		//525123
		System.out.println(userorderno);