我真的是初学者,我已经知道了
string.indexOf("");
可以搜索整个单词,但是当我尝试搜索e.g: ig out of pig, it doesn't work
时。
我在这里有一个类似的字符串(部分):
<Special!>The moon is crashing to the Earth!</Special!>
因为我的文件中有很多这些,我只是无法编辑所有这些并添加如下空格:
< Special! > The moon is crashing to the Earth! </ Special! >
我需要得到特殊的sub-string
!月亮正在撞向地球!
在不添加HTMLAgilityPack
等插件的情况下搜索单词的一部分的简单方法是什么?
答案 0 :(得分:1)
IndexOf会起作用,你可能只是不正确地使用它。
如果你的字符串在一个变量调用mystring中,你会说mystring.IndexOf,然后传入你要查找的字符串。
string mystring = "somestring";
int position = mystring.IndexOf("st");
答案 1 :(得分:0)
你是如何使用它的?你应该这样使用:
string test = "pig";
int result = test.IndexOf("ig");
// result = 1
如果您想使其不区分大小写,请使用
string test = "PIG";
int result = test.IndexOf("ig", StringComparison.InvariantCultureIgnoreCase);
// result = 1
答案 2 :(得分:0)
请试试这个:
string s = "<Special!>The moon is crashing to the Earth!</Special!>";
int whereMyStringStarts = s.IndexOf("moon is crashing");
IndexOf
也应该使用空格,但是你可能有new line
或tab
个字符,而不是空格?
有时,区分大小写非常重要。您可以通过名为comparisonType
的其他参数来控制它。例如:
int whereMyStringStarts = s.IndexOf("Special", StringComparison.OrdinalIgnoreCase);
有关IndexOf
的更多信息:String.IndexOf Method at MSDN
无论如何,我认为你可能需要正则表达式来创建更好的解析器。 IndexOf是一种非常原始的方法,你可能会遇到大量代码。
答案 3 :(得分:0)
string page = "<Special!>The moon is crashing to the Earth!</Special!>";
if (page.Contains("</Special!>"))
{
pos = page.IndexOf("<Special!>");
propertyAddress = page.Substring(10, page.IndexOf("</Special!>")-11);
//i used 10 because <special!> is 10 chars, i used 11 because </special!> is 11
}
这会让你“月亮撞向地球!”