Я бы не использовал Regex только для выделения строк в тексте. Прочитайте CSV-файл с помощью
Dim lines As String()
lines = File.ReadAllLines("path of the CSV file")
Затем сделайте так, как это
For i As Integer = starting_match To last_match
lines(i) = lines(i).Replace("old","new")
Next
И поместите строки вместе с
Dim result As String
result = String.Join(System.Environment.NewLine, lines)
UPDATE
Путаница исходит из того, что начальная позиция в методе Replace
обозначает начальную позицию символа, а не начальный индекс совпадения. Поэтому я предлагаю использовать этот метод расширения
_
Public Shared Function ReplaceMatches(regex As Regex,
input As String, replacement As String,
countMatches As Integer, startAtMatch As Integer
) As String
Dim matches As MatchCollection = regex.Matches(input)
If startAtMatch >= matches.Count Then
Return input
End If
Dim skippedMatch As Match = matches(startAtMatch - 1)
Dim startAtCharacterPosition As Integer = skippedMatch.Index + skippedMatch.Length
Return regex.Replace(input, replacement, countMatches, startAtCharacterPosition)
End Function
Теперь вы можете заменить на:
Dim input As String = "aaa bbb ccc ddd eee fff"
Dim startAtMatch As Integer = 2 ' ccc
Dim countMatches As Integer = 3
Dim regex = New Regex("\w+")
Dim result As String = regex.ReplaceMatches(input, "XX", countMatches, startAtMatch)
Console.WriteLine(result) ' --> "aaa bbb XX XX XX fff"
(Примеры, преобразованные из C # в VB с помощью devloperFusion )
Насколько мне известно Resource Controllers
, у вас есть только 7 fixed URI`s
для работы с вашим ресурсом.
Итак, если вы вызываете метод index
, он имеет стандартный URI /post
. Вы не можете изменить его на /post/anything
.
Вы должны использовать множественную версию ресурса в URI posts
. Route::resource('posts', 'PostController');
Таким образом, вы не можете получить доступ к методу index
из http://127.0.0.1:8000/admin/post/news
URL.