1

さまざまな長さの文が含まれているテキスト ファイルを分割するにはどうすればよいですか。フォームのボタン 1 をクリックしたときにテキスト ファイルを読みたいのですが、そのテキスト ファイルから文字の開始と終了の間にある単語を抽出し'、文字の開始と終了の中に@記号または記号が含まれており、それがどの行にあるかを知り、単語をテキストファイルに出力したい.#'

例、次のようなテキストがあるとしましょう

abc'123'@def'456''@ghi'  
abc'123'@def'#456''@ghi'123456'

出力:

1st sentence @ghi  
2nd sentence #456 @ghi

PS:文字@defの最初と最後に'ないため、出力にはありません

分割機能で結んだのですが作れずマス化してしまいました:( どうやったら作れますか?

ありがとう。

4

4 に答える 4

0

この例に関する限り、動作するサンプル コードは次のとおりです。

      string sen1="abc'123'@def'456''@ghi'";
      string sen2 = "abc'123'@def'#456''@ghi'123456'";

      string[] NewSen = Regex.Split(sen1, "''");

      string YourFirstOP=NewSen[1].ToString(); //gets @ghi


      NewSen = Regex.Split(sen2, "''");

      string[] A1 = Regex.Split(NewSen[0], "'");
      string[] A2 = Regex.Split(NewSen[1], "'");


      string YourSecondOP= A1[A1.Length - 1] + "" + A2[A2.Length - 3].ToString();// gets #456 @ghi

しかし、それはちょうどこの例です

お役に立てれば

于 2013-06-05T05:13:27.570 に答える
0

ここであなたsの入力文字列は & 文字列が含まれている@#、最初のインデックスはstr

    int start = s.indexOf("'");
    int end   = s.indexOf("'", start + 1);

    string str = s.SubString(start, end);

    if(str.ToCharArray()[0] == "@" || str.ToCharArray()[0] == "#")
        // proceed
于 2013-06-05T05:07:34.230 に答える
0
string [] Mass = s.Split('\'');
if (Mass.Length > 1)
    for (int i = 1; i < (Mass.Length - 1); i += 2)
    {
          if (Mass[i].Contains("@") || Mass[i].Contains("#"))
           // proceed
    }
于 2013-06-05T05:27:29.733 に答える