比如我有个文本,内容如下,我想根据标志来截取相关内容,截取标志符($E_title$)等中间的内容。$E_title$我们来自天南地北$E_title$$E_body$啬刻非固定好了部队司复活节大法国队军火库弧光灯绿化梵蒂冈军服躲过屡屡梵蒂冈火炬卡发躲过$E_body$$E_name$小飞侠$E_name$

解决方案 »

  1.   

    $E_title$我们来自天南地北$E_title$$E_body$啬刻非固定好了部队司复活节大法国队军火库弧光灯绿化梵蒂冈军服躲过屡屡梵蒂冈火炬卡发躲过$E_body$$E_name$小飞侠$E_name$
    string str = "$E_title$我们来自天南地北$E_title$$E_body$啬刻非固定好了部队司复活节大法国队军火库弧光灯绿化梵蒂冈军服躲过屡屡梵蒂冈火炬卡发躲过$E_body$$E_name$小飞侠$E_name$";str = str.Replace("$E_title$$E_body$","@@@@").Replace("$E_body$$E_name$","@@@@").Replace("$E_title$","@@@@").Replace("E_name$","@@@@");
    string[] s = str.Split("@@@@");string s1 = s[0];
    string s2 = s[1];
    string s3 = s[2];
      

  2.   

    using System.Text;
    using System.Text.RegularExpressions;...
    string strDemo="$E_title$我们来自天南地北$E_title$$E_body$啬刻非固定好了部队司复活节大法国队军火库弧光灯绿化梵蒂冈军服躲过屡屡梵蒂冈火炬卡发躲过$E_body$$E_name$小飞侠$E_name$"; strDemo = Regex.Replace(strDemo, @"(\$E_[^\$]*\$)", "|").Replace("||", "|"); strDemo = strDemo.Substring(1, strDemo.Length - 1).Trim(); strDemo = strDemo.Substring(0, strDemo.Length - 1); string[] strOutput = strDemo.Split("|".ToCharArray()); for(int i = 0; i< strOutput.Length; i++)
    {
    Console.WriteLine((i + 1).ToString() + "、" + strOutput[i]);
    } Console.WriteLine(strDemo);
    ...
      

  3.   

    支持luoxia001的方法
    但还可以再简单一下
      

  4.   

    如果按楼主的要求luoxia001(沉默,完完全全把你放在心中)的方法就可行
    但是如果这样子的话,楼主还不如把间隔符号都设成@@@@呢其实处理这个还是满麻烦的就跟email解码差不多
    意图在于读一遍就可以完成,所有写这段程序解码很有艺术思路:
    1.首先用indexof 搜寻$得到int iBeginStart,再从iBeginStart+1开始搜寻$一次得到int iBeginEnd,取两点之间的字段strSign
    2.然后从iBeginEnd+1开始搜索"$"+strSign+"$"
    3.然后取中间字段strContent
    4.然后用switch比较strSign和预设字段那个相等
    5.就输出strSign   :strContent
      

  5.   

    标志以$E_title$开始,以$E_title$结束,如何截取,或者应该如何设标志符号。主要因为数据库有一个字段需要存很多相关信息,比如标题,内容、发布人等,在字段里通过标识符号来分割存放,而且信息存放的类型多,每列信息内容都不确定,只能通过每个表示符来分割获取想要的内容。
      

  6.   

    (?#.#)\b[\w.]+\b你最好把分隔的先换成别的字符,如#,因为$是正则里的关键字
      

  7.   

    try {
    Regex RegexObj = new Regex("(?#.#)\\b[\\w.]+\\b");
    Match MatchResults = RegexObj.Match(SubjectString);
    while (MatchResults.Success) {

    MatchResults = MatchResults.NextMatch();

    } catch (ArgumentException ex) {
    // Syntax error in the regular expression
    }
      

  8.   

    实在不行,把$E_title$换成个别的字符