csharp Code:
public static void SomeMethod()
{
const string findStr = @""";
List<string> words = GetAllWords(File.ReadAllText(@"Z:\quotes.txt"), findStr);
words.ForEach(Console.WriteLine);
}
static List<string> GetAllWords(string source, string findStr)
{
List<string> words = new List<string>();
int pos, index = 0;
while ((pos = source.IndexOf(findStr, index, StringComparison.OrdinalIgnoreCase)) > -1)
{
index = pos + findStr.Length;
pos = source.IndexOf(findStr, index, StringComparison.OrdinalIgnoreCase);
if (pos > -1)
{
words.Add(source.Substring(index, pos - index));
index = pos + findStr.Length;
}
}
return words;
}
This is C# but the same principle still applies to VB.NET. (I had a C# project open at the time, but if you need me to translate this to VB.NET I can write an example together in VB.NET.)
Here was the test paragraph I used:
Lorem "ipsum" dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum "iriure" dolor "in" hendrerit "in" vulputate velit esse molestie consequat, vel "illum" dolore eu feugiat nulla facilisis at vero eros et accumsan et "iusto" odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor *** soluta nobis eleifend option congue nihil "imperdiet" doming "id" quod mazim placerat facer possim assum. Typi non habent claritatem "insitam"; est usus legentis "in" "iis" qui facit eorum claritatem. "investigationes" demonstraverunt lectores legere me lius quod "ii" legunt saepius. Claritas est etiam processus dynamicus, qui sequitur mutationem consuetudium lectorum. Mirum est notare quam littera gothica, quam nunc putamus parum claram, anteposuerit litterarum formas humanitatis per seacula quarta decima et quinta decima. Eodem modo typi, qui nunc nobis videntur parum clari, fiant sollemnes "in" futurum."
Along with the results:
Code:
ipsum
iriure
in
in
illum
iusto
imperdiet
id
insitam
in
iis
investigationes
ii
in
Quick VB.NET conversion:
vbnet Code:
Public Sub SomeMethod()
Const findStr As String = """
Dim words As List(Of String) = GetAllWords(File.ReadAllText("Z:\quotes.txt"), findStr)
words.ForEach(Sub(n) Console.WriteLine(n))
End Sub
Private Function GetAllWords(source As String, findStr As String) As List(Of String)
Dim words As New List(Of String)
Dim index As Integer = 0
Dim pos As Integer = source.IndexOf(findStr, index, StringComparison.OrdinalIgnoreCase)
While pos > -1
index = pos + findStr.Length
pos = source.IndexOf(findStr, index, StringComparison.OrdinalIgnoreCase)
If pos > -1 Then
words.Add(source.Substring(index, pos - index))
index = pos + findStr.Length
End If
pos = source.IndexOf(findStr, index, StringComparison.OrdinalIgnoreCase)
End While
Return words
End Function