我只想从例如两个点之间的文本框中获取文本。万维网。abc.org。H
问问题
1227 次
5 回答
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 and catch ;)
于 2009-05-18T11:01:40.190 回答
1
我认为你的问题需要更具体一点。现在,如果您只是想提取地址的中间部分,如下所示应该可以完成这项工作:
var parts = textbox.Text.Split(new char[] {'.'});
if (parts.Length < 3) throw new InvalidOperationException("Invalid address.");
var middlePart = parts[1];
于 2009-05-18T11:01:56.540 回答
0
字符串干草堆=“www.google.com”;字符串针=“谷歌”;
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"
);
}
于 2009-05-18T11:03:17.193 回答
0
这和你的要求一样具体吗?
它只需要为 www.SOMESITE.com 工作吗
.net、.org、.co.uk、.ie 等其他 tld 扩展名呢?其他子域呢,例如 www2.、api.、新闻。等等......没有子域的域怎么样,google.com,theregister.co.uk,bit.ly
如果你的要求很简单,
然后
textBox.Text.Replace("www.", "").Replace(".com", "");
尽管我感觉您尚未考虑或完全解释您的要求。
如果是更复杂的场景,您可能需要查看正则表达式。
于 2009-05-18T11:03:22.090 回答
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();
于 2009-05-18T11:23:36.137 回答