如何从文本框中获取两个点之间的文本

时间:2009-05-18 10:57:33

标签: c# text-manipulation

我只想从文本框中获取一个文本,例如两个点之间的文本。万维网。 abc.org。 ħ

5 个答案:

答案 0 :(得分:2)

在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;)

答案 1 :(得分:1)

我认为你需要对你的问题更具体一些。现在,如果你只想提取地址的中间部分,那么下面的内容应该可以完成这项工作:

var parts = textbox.Text.Split(new char[] {'.'});
if (parts.Length < 3) throw new InvalidOperationException("Invalid address.");
var middlePart = parts[1];

答案 2 :(得分:0)

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;
           }
        }

我重新阅读帖子的评论我可以看到你可能不知道你要提取的是什么词...我认为第一个答案是你正在寻找的那个。

如果这是您的特定需要,还有正则表达式用于从网址中提取域名。 像这样:

    public static string ExtractDomainName(string Url)
    {
        return System.Text.RegularExpressions.Regex.Replace(
        Url,
        @"^([a-zA-Z]+:\/\/)?([^\/]+)\/.*?$",
        "$2"
        );
    } 

答案 3 :(得分:0)

这是否符合您的要求?

它只需要为www.SOMESITE.com工作

其他tld扩展如.net,.org,.co.uk,.ie等... 那么其他子域名如www2。,api。,news。等等... 那些没有子域名的域名,google.com,theregister.co.uk,bit.ly

如果您的要求很简单,那么

然后

textBox.Text.Replace("www.", "").Replace(".com", "");

虽然我有一种感觉,你没有想过或完全解释你的要求。

如果是一个更复杂的场景,您可能需要查看正则表达式。

答案 4 :(得分:0)

string text = "www. abc.org . h";
int left = Math.Max(text.IndexOf('.'), 0),
   right = Math.Min(text.LastIndexOf('.'), text.Length - 1);

string result = text.Substring(left+1, right - left-1).Trim();