簡體   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