1

ドメインのリストを含むこのテキストファイルを読み取るプログラムを作成しようとしていますが、タイトル、各ドメインのヘッダーなど、他にも多くの不要なものがあります。必要なのはドメインだけです。

さて、共通点の1つは、すべてのドメインに「。」があることです。どこか2つです。その.txtファイル内の単語に「。」が含まれているかどうかを確認し、それを別の文字列に追加する方法はありますか?

周りを見回しましたが、文字列が含まれているだけで、単語が含まれていません。

それが存在しない場合、各単語を文字列配列に分割し、forループを使用して各単語を個別にテストする方法はありますか?

次に例を示します。

Domain list name the first domain ip magicdomain.com name the second domain ip magicdomain2.com
etc.
4

5 に答える 5

1

このコードを考えてみましょう:

        var words = text.Split(" ");

        foreach (var word in words)
            if (word.Contains("lookup"))
                Console.WriteLine("found it");
于 2012-05-11T12:21:27.343 に答える
1

または、そのために正規表現を使用できます。「ドメイン名の正規表現」のGoogle、私はこのライブラリが便利だと思いました

関連するSO:ドメイン名を解析するためにC#正規表現を使用していますか?

于 2012-05-11T12:22:10.103 に答える
0

ドメイン部分のみに.

同じ行で他の情報を区切るために使用される区切り文字はありますか。

サンプルデータの一部を見ずに何かを提案するのは難しいですが、ドメインの場合は常に最初の行であり、その後にスペースが続きます。SubstringとIndexOfの組み合わせを使用して、最初のトークンワードだけを取得できます。

line.Substring(0, line.IndexOf(' ')) 

または、このメソッドを使用してstring.Split()、いくつかの個別の文字に基づいて行をトークン化することもできます。

サンプルデータを投稿できますか?

于 2012-05-11T12:23:03.890 に答える
0

string.IndexOf渡された文字または文字列が存在する場合、または存在-1しない場合は、そのインデックスを返します。

if(word.IndexOf('.') > -1)
{
  // got a `.` do something with word
}
于 2012-05-11T12:20:15.843 に答える
0

文字列で単語を取得する各単語で目的の文字を確認するよりも

文字列から単語を取得するには

「正規表現:文字列から単語を取得する方法(C#)」リンクを確認してください

于 2012-05-11T12:22:01.137 に答える