String.Split 方法有6个重载函数:

1) public string[] Split(params char[] separator)
2) public string[] Split(char[] separator, int count)
3) public string[] Split(char[] separator, StringSplitOptions options)
4) public string[] Split(string[] separator, StringSplitOptions options)
5) public string[] Split(char[] separator, int count, StringSplitOptions options)
6) public string[] Split(string[] separator, int count, StringSplitOptions options)

下边我们通过一些实例来说明下怎么使用(以下string words = "1,2.3,,4";):

1. public string[] Split(params char[] separator)
string[] split = words.Split(new Char[] { ',' });//返回:{"1","2.3","","4"}
string[] split = words.Split(new Char[] { ',', '.' });//返回:{"1","2","3","","4"}

2. public string[] Split(char[] separator, int count)
string[] split = words.Split(new Char[] { ',', '.' }, 2);//返回:{"1","2.3,,4"}
string[] split = words.Split(new Char[] { ',', '.' }, 6);//返回:{"1","2","3","","4"}

3. public string[] Split(char[] separator, StringSplitOptions options)
string[] split = words.Split(new Char[] { ',', '.' }, StringSplitOptions.RemoveEmptyEntries);//返回:{"1","2","3","4"} 不保留空元素
string[] split = words.Split(new Char[] { ',', '.' }, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素

4. public string[] Split(string[] separator, StringSplitOptions options)
string[] split = words.Split(new string[] { ",", "." }, StringSplitOptions.RemoveEmptyEntries);//返回:{"1","2","3","4"} 不保留空元素
string[] split = words.Split(new string[] { ",", "." }, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素

5. public string[] Split(char[] separator, int count, StringSplitOptions options)
string[] split = words.Split(new Char[] { ',', '.' }, 2, StringSplitOptions.RemoveEmptyEntries);//返回:{"1","2.3,,4"} 不保留空元素
string[] split = words.Split(new Char[] { ',', '.' }, 6, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素

6. public string[] Split(string[] separator, int count, StringSplitOptions options)
string[] split = words.Split(new string[] { ",", "." }, 2, StringSplitOptions.RemoveEmptyEntries);//返回:{"1","2.3,,4"} 不保留空元素
string[] split = words.Split(new string[] { ",", "." }, 6, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素

as、Convert和强类型转换的比较

Convert.ToString((object)null) == ""
Convert.ToString(null)== null
通常 object 到 string 有四种方式(假设有object obj):obj.ToString()、Convert.ToString()

、(string)obj、obj as string。他们都能将 object 对象转换成 string 对象。我就讲讲他们的

异同以及在实际中应该使用哪个。

前两个方法通常是由别的对象得到 string 对象,它们间的区别只表现在要转换的对象为 null 时

,如果 obj 为 null,调用 obj.ToString 方法会导致 NullReferenceException 异常,调用

Convert.ToString 不会抛出异常而返回一个 null。

用强制转换 (string)obj 要求 obj 的运行时类型必须是 string。如果不是,就会抛出异常。

用 as 方法则会相对平稳,当 obj 的运行时类型不是 string 时会返回 null 而不抛出异常。

所以在通常在我们需要得到某个对象的 string 表达形式时,我们应该使用 ToString 和

Convert.ToString,这时候你就得根据情形选一个,假如你能保证你的对象不为 null,则两个差不

多。如果有可能为 null,你就应该用 Convert.ToString,如果你希望它为 null 的时候抛出异常

,那么当然可以选择 ToString。

string 的方法:

  名称 说明
C# 把String 说透C# 把String 说透 Clone 返回对此 String 实例的引用。
C# 把String 说透C# 把String 说透C# 把String 说透 Compare 已重载。 比较两个指定的 String 对象。
C# 把String 说透C# 把String 说透 CompareOrdinal 已重载。 通过计算每个字符串中相应 Char 对象的数值来比较两个 String 对象。
C# 把String 说透 CompareTo 已重载。 将此实例与指定的对象或 String 进行比较,并返回二者相对值的指示。
C# 把String 说透C# 把String 说透C# 把String 说透 Concat 已重载。 连接 String 的一个或多个实例,或 Object 的一个或多个实例的值的 String 表示形式。
C# 把String 说透 Contains 返回一个值,该值指示指定的 String 对象是否出现在此字符串中。
C# 把String 说透C# 把String 说透C# 把String 说透 Copy 创建一个与指定的 String 具有相同值的 String 的新实例。
C# 把String 说透C# 把String 说透 CopyTo 将指定数目的字符从此实例中的指定位置复制到 Unicode 字符数组中的指定位置。
C# 把String 说透C# 把String 说透 EndsWith 已重载。 确定 String 的实例的末尾是否与指定的字符串匹配。
C# 把String 说透C# 把String 说透 Equals 已重载。 已重写。 确定两个 String 对象是否具有相同的值。
C# 把String 说透C# 把String 说透C# 把String 说透 Format 已重载。 将指定的 String 中的每个格式项替换为相应对象的值的文本等效项。
C# 把String 说透 GetEnumerator 检索一个可以循环访问此字符串中的每个字符的对象。
C# 把String 说透C# 把String 说透 GetHashCode 已重写。 返回该字符串的哈希代码。
C# 把String 说透C# 把String 说透 GetType  获取当前实例的 Type。 (从 Object 继承。)
C# 把String 说透C# 把String 说透 GetTypeCode 返回类 StringTypeCode
C# 把String 说透C# 把String 说透 IndexOf 已重载。 报告 String 或一个或多个字符在此字符串中的第一个匹配项的索引。
C# 把String 说透C# 把String 说透 IndexOfAny 已重载。 报告指定 Unicode 字符数组中的任意字符在此实例中第一个匹配项的索引。
C# 把String 说透C# 把String 说透 Insert 在此实例中的指定索引位置插入一个指定的 String 实例。
C# 把String 说透C# 把String 说透C# 把String 说透 Intern 检索系统对指定 String 的引用。
C# 把String 说透C# 把String 说透C# 把String 说透 IsInterned 检索对指定 String 的引用。
C# 把String 说透 IsNormalized 已重载。 指示此字符串是否符合特定的 Unicode 范式。
C# 把String 说透C# 把String 说透C# 把String 说透 IsNullOrEmpty 指示指定的 String 对象是 空引用(在 Visual Basic 中为 Nothing) 还是 Empty 字符串。
C# 把String 说透C# 把String 说透C# 把String 说透 Join 已重载。 在指定 String 数组的每个元素之间串联指定的分隔符 String,从而产生单个串联的字符串。
C# 把String 说透C# 把String 说透 LastIndexOf 已重载。 报告指定的 Unicode 字符或 String 在此实例中的最后一个匹配项的索引位置。
C# 把String 说透C# 把String 说透 LastIndexOfAny 已重载。 报告在 Unicode 数组中指定的一个或多个字符在此实例中的最后一个匹配项的索引位置。
C# 把String 说透 Normalize 已重载。 返回一个新字符串,其二进制表示形式符合特定的 Unicode 范式。
C# 把String 说透C# 把String 说透C# 把String 说透 op_Equality 确定两个指定的 String 对象是否具有同一值。
C# 把String 说透C# 把String 说透C# 把String 说透 op_Inequality 确定两个指定的 String 对象是否具有不同的值。
C# 把String 说透C# 把String 说透 PadLeft 已重载。 右对齐此实例中的字符,在左边用空格或指定的 Unicode 字符填充以达到指定的总长度。
C# 把String 说透C# 把String 说透 PadRight 已重载。 左对齐此字符串中的字符,在右边用空格或指定的 Unicode 字符填充以达到指定的总长度。
C# 把String 说透C# 把String 说透C# 把String 说透 ReferenceEquals  确定指定的 Object 实例是否是相同的实例。 (从 Object 继承。)
C# 把String 说透C# 把String 说透 Remove 已重载。 从此实例中删除指定个数的字符。
C# 把String 说透C# 把String 说透 Replace 已重载。 将此实例中的指定 Unicode 字符或 String 的所有匹配项替换为其他指定的 Unicode 字符或 String
C# 把String 说透C# 把String 说透 Split 已重载。 返回包含此实例中的子字符串(由指定 CharString 数组的元素分隔)的 String 数组。
C# 把String 说透C# 把String 说透 StartsWith 已重载。 确定 String 实例的开头是否与指定的字符串匹配。
C# 把String 说透C# 把String 说透 Substring 已重载。 从此实例检索子字符串。
C# 把String 说透C# 把String 说透 ToCharArray 已重载。 将此实例中的字符复制到 Unicode 字符数组。
C# 把String 说透C# 把String 说透 ToLower 已重载。 返回此 String 转换为小写形式的副本。
C# 把String 说透 ToLowerInvariant 返回此 String 对象的转换为小写形式的副本,返回时使用固定区域性的大小写规则。
C# 把String 说透C# 把String 说透 ToString 已重载。 已重写。 将此实例的值转换为 String
C# 把String 说透C# 把String 说透 ToUpper 已重载。 返回此 String 转换为大写形式的副本。
C# 把String 说透C# 把String 说透 ToUpperInvariant 返回此 String 对象的转换为大写形式的副本,返回时使用固定区域性的大小写规则。
C# 把String 说透C# 把String 说透 Trim 已重载。 从此实例的开始位置和末尾移除一组指定字符的所有匹配项。
C# 把String 说透C# 把String 说透 TrimEnd 从此实例的结尾移除数组中指定的一组字符的所有匹配项。
C# 把String 说透C# 把String 说透 TrimStart 从此实例的开始位置移除数组中指定的一组字符的所有匹配项。

string 类型处理:

String 的别名。

例如:

string a = "hello";
string b = "h";
// Append to contents of 'b'
b += "ello";
Console.WriteLine(a == b);
Console.WriteLine((object)a == (object)b);

b 引用的不是同一个字符串实例。

+ 运算符用于连接字符串:

string a = "good " + "morning";

这将创建一个包含“good morning”的字符串对象。

然后字符串“h”将适宜于垃圾回收。

string b = "h";
b += "ello";

string 的各个字符的只读访问。

string str = "test";
char x = str[2];  // x = 's';

"good morning" // a string literal

\n 来表示换行符。

string a = "\\\u0066\n";
Console.WriteLine(a);
注意

\Udddddddd

例如:

@"good morning"  // a string literal
原义字符串的优势在于 处理转义序列,因此很容易写入,例如完全限定的文件名就是原义字符串:
@"c:\Docs\Source\a.txt"  // rather than "c:\\Docs\\Source\\a.txt"

若要在一个用 @ 引起来的字符串中包括一个双引号,请使用两对双引号:

@"""Ahoy!"" cried the captain." // "Ahoy!" cried the captain.

/reference) 标识符。

字符串(C# 编程指南)

以上来自MSDN.

我们常用的有:

   string test = "cbdddd";

 String.Format("abcd{0},{1}","ddd","bbb");//替换{0},{1}

  String.IsNullOrEmpty("  "); //返回True;如果不是 返回false;

  test.Index0f("a");//如果有返回>=0常数;如果没有返回-1;

  test.Replace("c","abc");//替换,

 test.LastIndexOf("d");  //返回最后一个含d的位置这里是5

相关文章:

  • 2022-12-23
  • 2021-08-21
  • 2021-06-11
  • 2021-11-05
  • 2022-01-07
  • 2021-05-24
猜你喜欢
  • 2021-09-20
  • 2021-12-28
  • 2021-06-02
  • 2021-12-23
  • 2021-12-28
  • 2021-08-28
  • 2021-09-15
相关资源
相似解决方案