如果字符串是
姓名张三性别男年龄15姓名李四性别女年龄15以上是字符串!
如何把字符串分解成张三 男 15
李四 女 15两个函数!Main以及自定义一个函数!由Main函数传递字符给自定义函数!然后由自定义函数分析字符串,然后以数组形式传送给Main,然后通过在Main中foreach循环输出字符串!
姓名张三性别男年龄15姓名李四性别女年龄15以上是字符串!
如何把字符串分解成张三 男 15
李四 女 15两个函数!Main以及自定义一个函数!由Main函数传递字符给自定义函数!然后由自定义函数分析字符串,然后以数组形式传送给Main,然后通过在Main中foreach循环输出字符串!
李四 女 15 然后以数组形式传送给Main
------------------
分解结果是两个字符串还是六个字符串?返回类型是一维数组还是二维数组?这么简单一个问题,还把步骤写得那么详细,是作业吧,如果是作业还是自己做的好
string mysplit(string s)
{
return s.Replace("姓名","\n").Replace("年龄"," ").Replace("性别"," ");
}
split("姓名")
split("性别")
split("年龄")
然后依次第二个,第三个直到结束。
在拆分个人信息,就比较简单了,分别以姓名、性别、年龄为标志,拆成3个子串即可。
{
ArrayList arralist = new ArrayList();
string test = "姓名张三性别男年龄15姓名李四性别女年龄15";
string test2 = Regex.Replace(test, "姓名", ";");
test2 = Regex.Replace(test2, "性别|年龄", " ");
test2 = test2.Substring(1);
string[] test3 = test2.Split(';');
for (int i = 0; i < test3.Length; i++)
{
arralist.Add(test3[i]);
}
return arralist;
}
static void Main(string[] args)
{
ArrayList arralist = new ArrayList();
arralist = Test();
for (int i = 0; i < arralist.Count; i++)
{
Console.WriteLine(arralist[i]);
} Console.ReadLine();
}
都不知道怎么返回了!
public static ArrayList Transact(string GetString, int Status)
{
ArrayList arralist = new ArrayList();
if (Status == 0)
{
Regex re = new Regex(@"问题标题008(?<问题标题>[\s\S]*?)问题内容008(?<问题内容>[\s\S]*?)问题补充008(?<问题补充>[\s\S]*?)用户姓名008(?<问题姓名>[\s\S]*?)性别008(?<性别>[\s\S]*?)电子邮件008(?<问题电子邮件>[\s\S]*?)生日008(?<生日>[\s\S]*?)血型008(?<血型>[\s\S]*?)婚姻008(?<婚姻>[\s\S]*?)出生地008(?<出生地>[\s\S]*?)目前居住地008(?<目前居住地>[\s\S]*?)简介008(?<简介>[\s\S]*?)完毕008");
MatchCollection mc = re.Matches(GetString);
foreach (Match m in mc)
{
}
}
return arralist;
} foreach里面该怎么写啊??
{
static void Main(string[] args)
{
string[] aaa = xxxxx("姓名张三性别男年龄15姓名李四性别女年龄15");
foreach (string a in aaa)
{
Console.WriteLine("{0}", a);
} Console.ReadLine(); } static string[] xxxxx(string str)
{
string[] bbb = str.Split(new string[] { "姓名" }, StringSplitOptions.None);
for (int i = 0; i < bbb.Length; i++)
{
bbb[i] = bbb[i].Replace("年龄", " ").Replace("性别", " ");
} return bbb;
}
}
string str="姓名张三性别男年龄15姓名李四性别女年龄15";
string RegexString = @".*?姓名(?<Name>[^性别].*?)性别(?<Sex>[^年龄].*?)年龄(?<Age>[^姓名].*?).*?";
string[] Name = GetRegValue(str, RegexString, "Name", false);
string[] Sex = GetRegValue(str, RegexString, "Sex", false);
string[] Age = GetRegValue(str, RegexString, "Age", false);
Response.Write(Name[0].ToString()); /// <summary>
/// 正则表达式取值
/// </summary>
/// <param name="HtmlCode">源码</param>
/// <param name="RegexString">正则表达式</param>
/// <param name="GroupKey">正则表达式分组关键字</param>
/// <param name="RightToLeft">是否从右到左</param>
/// <returns></returns>
public string[] GetRegValue(string HtmlCode , string RegexString,string GroupKey,bool RightToLeft)
{
MatchCollection m;
Regex r;
if (RightToLeft == true)
{
r = new Regex(RegexString, RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.RightToLeft);
}
else
{
r = new Regex(RegexString, RegexOptions.IgnoreCase | RegexOptions.Singleline);
}
m= r.Matches(HtmlCode);
string[] MatchValue = new string[m.Count];
for (int i = 0; i < m.Count; i++)
{
MatchValue[i] = m[i].Groups[GroupKey].Value;
}
return MatchValue;
}
你这样得有缺陷啊,一旦出现姓名年龄年龄,就有问题了如果是这样子的话,格式就会乱,程序根本没办法区分谁是谁了?