对字符串的各种操作经常使用到,比如分割(split
)截取(subString
)字符串、将数组转成字符串(String.Join
),其中的数组元素使用特定的分隔符; 以及填充字符串到指定长度(PadRight
或 PadLeft
),以便于字符串长度对齐
1、String.Split 分隔字符串 (需要确定分割字)
string phrase = "The Hello Word";
string[] words = phrase.Split(' '); //通过空格分割
foreach (var word in words)
{
System.Console.WriteLine(word);
}
//输出
// The
// Helo
// Word
string phrase2 = "AA,BB,CCC,DDD";
string[] words2 = phrase.Split(','); //通过,分割
foreach (var word in words2)
{
System.Console.WriteLine(word);
}
//输出
// AA
// BB
// CCC
/// DDD
String.Split 可使用多个分隔符。 下面的示例使用空格、逗号、句点、冒号和制表符作为分隔字符,这些分隔字符在数组中传递到 Split
char[] delimiterChars = { ' ', ',', '.', ':', '\t' };
string text = "one\ttwo three:four,five six seven";
System.Console.WriteLine($"Original text: '{text}'");
string[] words = text.Split(delimiterChars);
System.Console.WriteLine($"{words.Length} words in text:");
foreach (var word in words)
{
System.Console.WriteLine($"<{word}>");
}
//输出
// Original text: 'one two :,five six seven'
// 7 words in text:
// <one>
// <two>
// <>
// <>
// <five>
// <six>
// <seven>
2、String.Join串联数组,其中每个元素使用指定的分隔符
String.Join
将数组转成字符串,其中每个元素之间使用特定的分隔符号(逗号,空格,下划线等)分隔
int[] arry = { 1, 2, 3, 4, 5, 6 };
string[] strArry = { "aa", "bb", "cc", "dd" };
//在每个元素直接使用指定的分隔符
//返回新的字符串 b = 1,2,3,4,5,6
string b = String.Join(",", arry);
// c = aa-bb-cc-dd
string c = String.Join("-", strArry);
3、截取字符串
Substring
从指定位置,截取某个字符串的N个长度,如下输出结果是:b = 2022
string a = "20220217";
//从索引0开始,截取长度为4的字符串, 返回字符串 b = 2022
string b = a.Substring(0,4);
//从索引1的位置,截取长度为2的字符串 返回字符串 C = 02
string c = a.SubString(1,2);
另外一个函数Remove
是移除指定长度字符,产生新的字符串
string a = "abcdefgh";
//移除abc b = defgh
string b = a.Remove(0, 3);
//从倒数第二位开始移除字符 d = abcdef
string c = a.Remove(a.Length - 2);
4、填充字符串到指定长度
使用PadRight
或是 PadLeft
填充某个字符来达到指定的总长度,用于字符串长度对齐
string a = "3.5";
//字符串总长度是4, 不够的使用'0'在右边填充,
//返回新的字符串 b = 3.50
string b = a.PadRight(4, '0');
//通过填充字符'c',让新字符串的总长度为6
// 返回字符串 c = ccc3.5
string c = a.PadLeft(6, 'c');