如何检查单词是否在字符串中包含字符
本文关键字:字符串 包含 字符 是否 单词 何检查 检查 | 更新日期: 2023-09-27 18:34:03
我正在尝试创建一个程序来读取带有域列表的文本文件,但它还有很多其他不必要的东西,例如标题,每个域的标题等。我想要的只是域名。
现在,一个共同点是所有域的某个地方甚至两个都有"."。有没有办法检查该.txt文件中的单词是否具有".",然后将其添加到另一个字符串中?
我环顾四周,但我只找到了字符串包含,而不是单词包含。
现在,如果不存在,有没有办法将每个单词分成一个字符串数组,然后使用 for 循环单独测试每个单词?
下面是一个示例:
Domain list name the first domain ip magicdomain.com name the second domain ip magicdomain2.com
etc.
请考虑以下代码:
var words = text.Split(" ");
foreach (var word in words)
if (word.Contains("lookup"))
Console.WriteLine("found it");
或者你可以使用正则表达式。谷歌搜索"域名正则表达式",我发现这个库很有用
相关 SO:使用 C# 正则表达式解析域名?
string.IndexOf
将返回传入的字符或字符串的索引(如果存在)或-1
如果不存在。
if(word.IndexOf('.') > -1)
{
// got a `.` do something with word
}
获取字符串中的单词 比检查每个单词是否有所需的字符
从字符串中获取单词
检查"正则表达式:如何从字符串中获取单词(C#)"链接
您确定只有域部分会包含.
是否有任何分隔符用于分隔同一行上的其他信息。
如果不看到一些示例数据,很难提出一些建议,但是如果您是域,则始终是一行上的第一件事,然后是空格。 您可以使用Substring和IndexOf的组合来获取第一个标记单词。
line.Substring(0, line.IndexOf(' '))
或者,您可以使用 string.Split()
方法根据某些分隔字符标记该行。
你能发布一些示例数据吗?