假设以下字符串:
String value = "161207CAD140000,0";
如何获取子字符串 CAD
的第一个字符的索引和最后一个字符的索引
请注意,子字符串的大小可能会从 2、3 等字符更改,我希望解决方案是动态的。
最佳答案
您可以使用 String.indexOf(String str)
函数,它将返回“CAD”的起始索引。然后将要在返回值中找到的字符串的长度减一,这将是“CAD”的最后一个字符索引。
像这样:
String value = "161207CAD140000,0";
String str = "CAD";
String datePart = value.substring(0, value.indexOf(str)); // for finding the date part
String amountStr = value.substring(value.indexOf(str) + str.length()); //for finding the amount part
System.out.println(datePart +" "+amountStr);`
现在假设字符串“CAD”是动态的并且您不知道它将具有什么值,在这种情况下最好使用正则表达式。请看下面的代码片段:
String value = "161207CAD140000,0";
String patt = "[\\d,]+";
Pattern pattern = Pattern.compile(patt);
Matcher matcher = pattern.matcher(value);
while(matcher.find()){
System.out.println(matcher.group());
}
如果有任何问题,请在评论中告诉我。希望对您有所帮助。
关于java - 如何获取字符串中第一个和最后一个字符的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41121218/