たとえば、2つのドットの間にあるテキストボックスからテキストを取得したいだけです。www。abc.org 。時間
5 に答える
C#で
string url = "www.google.com";
string[] split_strings = url.Split('.');
Console.WriteLine(split_strings[1]);
テキストボックスから文字列を取得:
string url = textbox_url.Text;
string[] split_strings = url.Split('.');
Console.WriteLine(split_strings[1]);
ただし、try と catch を使用してください ;)
質問をもう少し具体的にする必要があると思います。ここで、アドレスの中間部分を抽出するだけの場合は、次のようにします。
var parts = textbox.Text.Split(new char[] {'.'});
if (parts.Length < 3) throw new InvalidOperationException("Invalid address.");
var middlePart = parts[1];
string haystack= "www.google.com"; string needle = "google";
string myWord = GetWordFromString(haystack, needle);
private string GetWordFromString(string haystack, string needle)
{
if (haystack.ToLower().Contains(needle))
{
return needle;
}
}
コメントを付けて投稿を読み直しましたが、おそらくどの単語を抽出しようとしているのかわからないことがわかります...最初の答えは、あなたが探しているものだと思います。
特定の必要がある場合は、URL からドメイン名を抽出するための正規表現もあります。このようなもの:
public static string ExtractDomainName(string Url)
{
return System.Text.RegularExpressions.Regex.Replace(
Url,
@"^([a-zA-Z]+:\/\/)?([^\/]+)\/.*?$",
"$2"
);
}
それはあなたの要件と同じくらい具体的ですか?
www.SOMESITE.comでのみ機能する必要がありますか
.net、.org、.co.uk、.ie などの他の tld 拡張子はどうですか... www2.、api.、news. など... google.com、theregister.co.uk、bit.ly などのサブドメインのないドメインについてはどうですか
それがあなたの要件と同じくらい簡単であれば、
それから
textBox.Text.Replace("www.", "").Replace(".com", "");
私はあなたがあなたの要件を熟考していない、または完全に説明していないと感じています.
より複雑なシナリオの場合は、正規表現を確認することをお勧めします。