2016-11-01 3 views
0

私は、文字列がそれはそう、私はこれを行います場合は形式この特定の文字列形式のテキストを検索するにはどうすればよいですか?

[QUOTE] 
    Test sentence 
    [/QUOTE] 

次含めるかどうかを確認します。

  string description = dr["description"].ToString(); 
      description = description.Replace("[QUOTE]", "<blockquote>"); 
      description = description.Replace("[/QUOTE]", "</blockquote>"); 

これは問題ありません。

これはどうですか?

私は

を「アクシオによって投稿Orginall。こちらをクリックして」BLOCKQUOTEタグを追加したいとだけでなく、それらのタグ

内のこのテキストを表示したい、ここでまた

[QUOTE=Axio;26] 
Test sentence 
[/QUOTE] 

「Click HEre」をクリックすると、その特定の投稿に移動します。だから、ハイパーリンク」26である必要があり、たとえば、これを行うには

答えて

0

多くの方法がこれを行うにはどのように郵便番号

です:?

string des = dr["description"].ToString().Replace("\n", ""); 
string info[] = des.SubString(des.IndexOf('=') + 1, des.IndexOf(']')).Split(';'); 
string name = info[0]; 
string id = info[1] 
string sentence = des.SubString(des.IndexOf(']') + 1, des.LastIndexOf('[')); 

あなたはこれを得たとき、あなたは何をすべきか知っています

+0

ArgumentOutOfRange例外を持たないように追加しても、部分インデックスを取得するために開始インデックスを減算する必要があります。そしておそらく '] 'の最初の出現を使用してください。そうでなければ' [0]: "Axio" '' [1]: "26" Orgina "' –

+0

oops、最後の行からコピー、忘れてしまいます。 – Bucketcode

1

正規表現を使用して[QUOTE]に一致するものを照合し、後でSplitに変換することができますセミコロンに。このようなもの:

 var regexPattern = @"\[QUOTE[=]{0,1}([\d\w;]*)\](.|\r|\n)*\[/QUOTE\]"; 
     var test1 = @"[QUOTE=Axio;26] 
      Test sentence 
      [/QUOTE]"; 
     var test2 = @"[QUOTE] 
      Test sentence 
      [/QUOTE]"; 

     var regex = new Regex(regexPattern); 

     var match = regex.Match(test1); 
     if (match.Success) 
     { 
      if (match.Groups.Count > 1) //matched [QUOTE=...] 
       match.Groups[1].Value.Split(';').ToList().ForEach(s => Console.WriteLine(s)); 
      else //matched [QUOTE].. 
       Console.WriteLine("Matched [QUOTE]"); 
     } 
     else Console.WriteLine("No match"); 
     Console.Read(); 
0
//Get the description text 
var description = "[QUOTE=Axio;26]Orginall posted by Axio. Click here[/QUOTE]"; 
//Get your id 
var id = description.Substring(description.IndexOf(";") + 1, description.IndexOf("]") - (description.IndexOf(";") + 1)); 

//replace with anchor with id and <blockquotes/> 
var editedstring = description 
    .Remove(description.IndexOf("["), description.IndexOf("]") + 1) 
    .Insert(0, "<blockquote><a href=\"#" + id + "\">") 
    .Replace("[/QUOTE]", "</a></blockquote>"); 

結果:

<blockquote><a href="#26">Orginall posted by Axio. Click here</a> </blockquote> 
Orginallアクシオによって掲示。ここをクリック
関連する問題