繁体   English   中英

如何获取字符串中第一个和最后一个字符的索引?

[英]How can i get the index of the first and last char in string?

假设以下字符串:

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());
}

如果有任何问题,请在评论中让我知道。 希望能帮助到你。

这将完成任何字符串的工作。

String value = "161207CAD140000,0";
String searchedString = "CAD"
int firstIndex = value.indexOf(searchedString);
int lastCharIndex = firstIndex + searchedString.length();

有在这样的要求String类的方法。 您可以使用indexOf和lastIndexOf方法来获取位置。 例如

int index = value.indexOf("C"); //This returns 6
int lastIndex = value.lastIndexOf("D"); //this returns 8

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM