View Full Version : سوال: جدا کردن بخشی از string
sajadzare
جمعه 18 بهمن 1392, 15:48 عصر
سلام
یه رشته داریم مثل رشته زیر:
1-شرکت سرمایه گذاری مهرگستر نوین-->2-شرکت تعاونی پارس خزر
که اولی فرستنده هست و دومی گیرنده ... من میخوام این متن رو بگیرم و تبدیلش کنم به دو تا متن مثل زیر
فرستنده : شرکت سرمایه گذاری مهرگستر نوین
گیرنده : شرکت تعاونی پارس خزر
لطفا کمک کنید
مهران موسوی
جمعه 18 بهمن 1392, 16:56 عصر
مثلا میتونید از روش زیر استفاده کنید :چشمک:
string value = "شرکت سرمایه گذاری مهرگستر نوین-->شرکت تعاونی پارس خزر";
var parts = value.Split(new string[] { "<--" }, StringSplitOptions.None);
for (int i = 0; i < parts.Length; i++)
{
Console.WriteLine(parts[i]);
}
sajadzare
جمعه 18 بهمن 1392, 17:44 عصر
دوستان مشکل حل شد. برای اطلاع دوستان کلاس مربوط به این کار رو براتون میذارم از تابع های between و before و after استفاده کنید
static class SubstringExtensions { /// <summary> /// Get string value between [first] a and [last] b. /// </summary> public static string Between(this string value, string a, string b) { int posA = value.IndexOf(a); int posB = value.LastIndexOf(b); if (posA == -1) { return ""; } if (posB == -1) { return ""; } int adjustedPosA = posA + a.Length; if (adjustedPosA >= posB) { return ""; } return value.Substring(adjustedPosA, posB - adjustedPosA); } /// <summary> /// Get string value after [first] a. /// </summary> public static string Before(this string value, string a) { int posA = value.IndexOf(a); if (posA == -1) { return ""; } return value.Substring(0, posA); } /// <summary> /// Get string value after [last] a. /// </summary> public static string After(this string value, string a) { int posA = value.LastIndexOf(a); if (posA == -1) { return ""; } int adjustedPosA = posA + a.Length; if (adjustedPosA >= value.Length) { return ""; } return value.Substring(adjustedPosA); } }
برای مثالی که من زدم کد زیر رو به کار ببرید
string mainstring="1-شرکت سرمایه گذاری مهرگستر نوین-->2-شرکت تعاونی پارس خزر";
string sender="فرستنده"+":"+mainstring.Between("1-","-->2-");
string reciever="گیرنده"+":"+mainstring.After("-->2-");
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.