テキストファイルに指定した文字列を含む行番号を取得するにはどうすればよいですか?文字列を含む行番号を取得する
例テキストファイルには含まれています: "イエロー" の行番号を取得する方法
レッド
ホワイト
イエロー
グリーン
を?私は指定された行に文字列を書くことができます、私は2行目に文字列を書きたいと言うことができますか?
テキストファイルに指定した文字列を含む行番号を取得するにはどうすればよいですか?文字列を含む行番号を取得する
例テキストファイルには含まれています: "イエロー" の行番号を取得する方法
レッド
ホワイト
イエロー
グリーン
を?私は指定された行に文字列を書くことができます、私は2行目に文字列を書きたいと言うことができますか?
:次の例では、私は「イエロー・サブマリン」
Dim replaceString = "Yellow Submarine"
Dim newFileLines = File.ReadLines(filePath).
Where(Function(l) l.Contains(toSearch)).
Select(Function(l) l.Replace(toSearch, replaceString))
File.WriteAllLines(path, newFileLines)
それとも、特定の行を置換すると「イエロー」のすべての出現箇所を交換していますあなたはそれを見つけるまで、あなたはファイルの先頭からの行を読み込む必要があります。
string fileName = "file.txt";
string someString = "Yellow";
string[] lines = File.ReadAllLines(fileName);
int found = -1;
for (int i = 0; i < lines.Length; i++) {
if (lines[i].Contains(someString)) {
found = i;
break;
}
}
あなたはファイルの行を変更したい場合は、ファイル全体を読み込み、変更とそれを裏書きする必要がライン:
のstring[] lines = File.ReadAllLines(fileName);
lines[1] = "Black";
File.WriteAllLines(fileName, lines);
Dim toSearch = "Yellow"
Dim lineNumber = File.ReadLines(filePath).
Where(Function(l) l.Contains(toSearch)).
Select(Function(l, index) index)
If lineNumber.Any Then
Dim firstNumber = lineNumber.First
End If
編集:あなたはその行の文字列を書きたい場合は、最良の方法は、新しいものとその行を置き換えることであろう。テキストファイルの行を見つけるには
Dim allLines = File.ReadAllLines(path)
allLines(lineNumber) = replaceString
File.WriteAllLines(path, allLines)
すべてのこれらの例のおかげで、しかし、私はちょうどかかわらず、私はそれをしようとしていたか、エラーが返されていないトップ1を必要としていました。 – NetInfo
Imports System.IO
Dim int1 As Integer
Dim path As String = "file.txt"
Dim reader As StreamReader
Public Sub find()
int1 = New Integer
reader = File.OpenText(path)
Dim someString As String = Form1.TextBox1.Text 'this Textbox for searching text example : Yellow
Dim lines() As String = File.ReadAllLines(path)
Dim found As Integer = -1
Dim i As Integer
For i = 0 To lines.Length - 1 Step i + 1
If lines(i).Contains(someString) Then
found = i
int1 = i
Exit For
End If
Next
reader = File.OpenText(path)
'if you want find same word then
Dim lines2() As String = File.ReadAllLines(path)
Form1.ListBox1.Items.Add(lines2(int1))
int1 = New Integer
End Sub
ありがとう、それはうまくいった。 – NetInfo