Jawaban:
http://msdn.microsoft.com/en-us/library/system.string.split.aspx
Contoh dari dokumen:
string source = "[stop]ONE[stop][stop]TWO[stop][stop][stop]THREE[stop][stop]";
string[] stringSeparators = new string[] {"[stop]"};
string[] result;
// ...
result = source.Split(stringSeparators, StringSplitOptions.None);
foreach (string s in result)
{
Console.Write("'{0}' ", String.IsNullOrEmpty(s) ? "<>" : s);
}
Anda dapat menggunakan metode Regex.Split , seperti ini:
Regex regex = new Regex(@"\bis\b");
string[] substrings = regex.Split("This is a sentence");
foreach (string match in substrings)
{
Console.WriteLine("'{0}'", match);
}
Sunting : Ini memenuhi contoh yang Anda berikan. Perhatikan bahwa String biasa. Plit juga akan terpecah pada " is " di akhir kata "This", maka dari itu mengapa saya menggunakan metode Regex dan memasukkan batas kata di sekitar " is ". Perhatikan, bagaimanapun, bahwa jika Anda baru saja menulis contoh ini karena kesalahan, maka String.Split mungkin akan cukup.
Berdasarkan tanggapan yang ada pada posting ini, ini menyederhanakan implementasinya :)
namespace System
{
public static class BaseTypesExtensions
{
/// <summary>
/// Just a simple wrapper to simplify the process of splitting a string using another string as a separator
/// </summary>
/// <param name="s"></param>
/// <param name="pattern"></param>
/// <returns></returns>
public static string[] Split(this string s, string separator)
{
return s.Split(new string[] { separator }, StringSplitOptions.None);
}
}
}
string s = "This is a sentence.";
string[] res = s.Split(new string[]{ " is " }, StringSplitOptions.None);
for(int i=0; i<res.length; i++)
Console.Write(res[i]);
EDIT: The "is" diisi pada kedua sisi dengan spasi di array untuk menjaga fakta bahwa Anda hanya ingin kata "is" dihapus dari kalimat dan kata "this" tetap utuh.
Anda bisa menggunakan String.Replace () untuk mengganti string split yang Anda inginkan dengan karakter yang tidak muncul dalam string dan kemudian menggunakan String. Letakkan pada karakter itu untuk membagi string yang dihasilkan untuk efek yang sama.
Berikut ini adalah fungsi ekstensi untuk melakukan pemisahan dengan pemisah string:
public static string[] Split(this string value, string seperator)
{
return value.Split(new string[] { seperator }, StringSplitOptions.None);
}
Contoh penggunaan:
string mystring = "one[split on me]two[split on me]three[split on me]four";
var splitStrings = mystring.Split("[split on me]");
var dict = File.ReadLines("test.txt")
.Where(line => !string.IsNullOrWhitespace(line))
.Select(line => line.Split(new char[] { '=' }, 2, 0))
.ToDictionary(parts => parts[0], parts => parts[1]);
or
enter code here
line="to=xxx@gmail.com=yyy@yahoo.co.in";
string[] tokens = line.Split(new char[] { '=' }, 2, 0);
ans:
tokens[0]=to
token[1]=xxx@gmail.com=yyy@yahoo.co.in
string strData = "This is much easier"
int intDelimiterIndx = strData.IndexOf("is");
int intDelimiterLength = "is".Length;
str1 = strData.Substring(0, intDelimiterIndx);
str2 = strData.Substring(intDelimiterIndx + intDelimiterLength, strData.Length - (intDelimiterIndx + intDelimiterLength));