总结:
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); }