我正在尝试创建一个程序,该程序使用域列表读取此文本文件,但它还有许多其他不必要的东西,例如标题,每个域的标题等。我想要的只是域名
现在,一个共同点是所有域都有一个“。”某处甚至两处。有没有办法检查该.txt文件中的单词是否有“。”,然后将其添加到另一个字符串?
我环顾四周,但我只找到了String Contains,而不是单词包含。
现在如果不存在,有没有办法将每个单词分成一个字符串数组,然后用for循环单独测试每个单词?
以下是一个例子:
Domain list name the first domain ip magicdomain.com name the second domain ip magicdomain2.com
etc.
答案 0 :(得分:1)
考虑以下代码:
var words = text.Split(" ");
foreach (var word in words)
if (word.Contains("lookup"))
Console.WriteLine("found it");
答案 1 :(得分:1)
或者您可以使用正则表达式。谷歌为“域名正则表达式”,我发现this lib有用
答案 2 :(得分:0)
string.IndexOf
将返回传入的字符或字符串的索引(如果存在)或-1
(如果不存在)。
if(word.IndexOf('.') > -1)
{
// got a `.` do something with word
}
答案 3 :(得分:0)
答案 4 :(得分:0)
您确定只有域部分会包含.
是否有任何分隔符用于在同一行上分隔其他信息。
如果没有看到一些示例数据,很难提出建议,但是如果你的域名总是第一件事就行了,后面跟着一个空格。您可以使用Substring&组合IndexOf只获得第一个令牌词。
line.Substring(0, line.IndexOf(' '))
或者,您可以使用string.Split()
方法根据某个seperaor字符对该行进行标记。
你能发布一些样本数据吗?