删除字符串中所有出现的字符
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);