總結:
java和c#中的substring
如果只有一個參數,意思是一樣,取該索引之後的全部字元
如果有2個參數。Java 的substring第二個參數表示索引號,實際取值是索引號的前一位; C# 的Substring方法第二個參數表示取子字串的長度
java API 中的說明:
substring
Returns a new string that is a substring of this string. The substring begins at the specified beginIndex and extends to the character at index endIndex - 1. Thus the length of the substring is endIndex-beginIndex.
Examples:
"hamburger".substring(4, 8) returns "urge"
"smiles".substring(1, 5) returns "mile"
Parameters:
beginIndex the beginning index, inclusive.
endIndex the ending index, exclusive.
例如
public class TestSubstring { public static void main(String[] args) { String phoneNbr="05718888888"; //對於4位區號應該是substring(0,4),不是substring(0,3) System.out.println(phoneNbr.substring(0,4)+" "+phoneNbr.substring(4)); }}
=======================================================
C#
Substring
- public string Substring( int startIndex )
Retrieves a substring from this instance. The substring starts at a specified character position.
Parameters
-
startIndex
-
Type: System.Int32
The zero-based starting character position of a substring in this instance.
Return Value
Type: System.String
A string that is equivalent to the substring that begins at startIndex in this instance, or Empty if startIndex is equal to the length of this instance.
- public string Substring( int startIndex, int length )
Parameters
-
startIndex
-
Type: System.Int32
The zero-based starting character position of a substring in this instance.
-
length
-
Type: System.Int32
The number of characters in the substring.
Return Value
Type: System.String
A string that is equivalent to the substring of length length that begins at startIndex in this instance, or Empty if startIndex is equal to the length of this instance and length is zero.
String myString = "abc";bool test1 = myString.Substring(2, 1).Equals("c"); // This is true.Console.WriteLine(test1);bool test2 = String.IsNullOrEmpty(myString.Substring(3, 0)); // This is true.Console.WriteLine(test2);try { string str3 = myString.Substring(3, 1); // This throws ArgumentOutOfRangeException. Console.WriteLine(str3);}catch (ArgumentOutOfRangeException e) { Console.WriteLine(e.Message);}