一、Split方法的介紹
Split方法是c#中字元串轉數組的最常用方法之一,它的作用是將字元串按照指定的分隔符分割成一個字元串數組。Split方法有多個重載,可以傳入不同的參數進行使用。
string str = "apple,banana,pear";
char[] separator = { ',' };
string[] arr = str.Split(separator);
上述示例代碼中,將會輸出一個字元串數組,其內容分別為”apple”,”banana”,”pear”。在該示例中,使用”,”作為分隔符。
二、字元串轉字元數組
c#中字元串也可以很方便地轉換為字元數組,字元串的每個字元都對應著數組的一個元素。
string str = "hello world";
char[] arr = str.ToCharArray();
上述示例中,將字元串”hello world”轉換成字元數組,輸出的結果為{‘h’,’e’,’l’,’l’,’o’,’ ‘,’w’,’o’,’r’,’l’,’d’}。
三、將字元串轉換為位元組數組
除了字元數組外,c#中還支持將字元串轉換為位元組數組。在很多情況下,這種轉換可以方便地進行字元串的存儲和傳輸。
string str = "hello world";
byte[] bytes = Encoding.UTF8.GetBytes(str);
在上述示例中,將字元串”hello world”轉換成了UTF8編碼的位元組數組。
四、以指定長度截取字元串轉數組
有時候需要從字元串中截取一部分字元並轉為數組,可以使用Substring方法。可以指定截取的位置和截取的長度。
string str = "hello world";
int startIndex = 3;
int length = 2;
string substr = str.Substring(startIndex, length);
char[] arr = substr.ToCharArray();
在上述示例中,截取了字元串”hello world”中從第3個字元開始的2個字元”lo”,並將其轉換為字元數組。
五、使用正則表達式分割字元串為數組
在一些特殊的情況下,需要使用正則表達式來分割字元串為數組。可以使用Regex類的Split方法來實現。
string str = "apple1banana2pear3";
string pattern = "\\d+";
string[] arr = Regex.Split(str, pattern);
在上述示例中,使用正則表達式”\\d+”來指定分割符,將字元串”apple1banana2pear3″轉為數組。
六、多維字元數組的轉換
如果是將多個字元串組合成一個多維字元數組,則可以用二維數組實現。
string[] strArr1 = { "apple", "banana", "pear" };
string[] strArr2 = { "red", "yellow", "green" };
string[,] multiArr = new string[2, 3];
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 3; j++)
{
if (i == 0) multiArr[i, j] = strArr1[j];
else multiArr[i, j] = strArr2[j];
}
}
在上述示例中,將兩個一維字元串數組依次加入一個二維字元數組中,最終輸出了一個包含兩個一維字元串數組的二維字元數組。
七、Linq的使用
可以使用Linq來對字元串進行拆分、篩選、排序等操作。
七.1 Linq拆分字元串
string str = "apple,banana,pear";
char[] separator = { ',' };
string[] arr = str.Split(separator);
var query = from s in arr where s.Length > 4 select s;
在上述示例中,使用Linq對字元串”apple,banana,pear”進行拆分,並篩選出長度大於4的元素。
七.2 Linq排序字元串數組
string str = "apple,banana,pear";
char[] separator = { ',' };
string[] arr = str.Split(separator);
var query = from s in arr orderby s.Length select s;
在上述示例中,使用Linq將字元串”apple,banana,pear”進行拆分並按照長度進行排序。
七.3 Linq查詢字元串數組中是否含有指定元素
string str = "apple,banana,pear";
char[] separator = { ',' };
string[] arr = str.Split(separator);
string target = "apple";
bool isExist = arr.Any(s => s == target);
在上述示例中,使用Linq判斷字元串數組中是否含有元素”apple”。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/219694.html