编辑由多次出现文本文件的特定字符串找到的特定行

席德

我正在创建一个软件,该软件应该读取文本文件并仅显示出现特定字符串的特定行。我将附加我正在使用的文件:

[fltsim.0]
title=Boeing 737-800 Paint1
sim=Boeing737-800
model=
panel=
sound=
texture=1
kb_checklists=Boeing737-800_check
kb_reference=Boeing737-800_ref
atc_id=N737W
atc_airline=Boeing
atc_flight_number=
ui_manufacturer="Boeing"
ui_type="737-800"
ui_variation="Boeing livery"
ui_typerole="Commercial Airliner"
ui_createdby="Microsoft Corporation"
description="One should hardly be surprised that the world's most prolific manufacturer of commercial aircraft is also the producer of the world's most popular jetliner. The 737 became the best-selling commercial jetliner worldwide when orders for it hit 1,831 in June 1987 (surpassing Boeing's own 727 as the previous champ). However, it wasn't always that way\s in the first few years of production, there were so few orders that Boeing considered canceling the program. They didn't, and the airplane has more than proven itself in over three decades of service."

[fltsim.1]
title=Boeing 737-800 Paint2
sim=Boeing737-800
model=
panel=
sound=
texture=2
kb_checklists=Boeing737-800_check
kb_reference=Boeing737-800_ref
atc_id=N737X
atc_airline=World Travel
atc_flight_number=
ui_manufacturer="Boeing"
ui_type="737-800"
ui_variation="World Travel Airlines"
ui_typerole="Commercial Airliner"
ui_createdby="Microsoft Corporation"
description="One should hardly be surprised that the world's most prolific manufacturer of commercial aircraft is also the producer of the world's most popular jetliner. The 737 became the best-selling commercial jetliner worldwide when orders for it hit 1,831 in June 1987 (surpassing Boeing's own 727 as the previous champ). However, it wasn't always that way\s in the first few years of production, there were so few orders that Boeing considered canceling the program. They didn't, and the airplane has more than proven itself in over three decades of service."

如您所见,标头[fltsim.0,1,etc。]每次递增1,并且在每个标头的下面是我需要提取的大量信息。我想退出title={string}我能够拿出第一次出现的标题,但是我似乎无法弄清楚如何拿出其余的标题。总而言之,我的目标是从该文件中读取特定数据(发生多次),并以相同的方式写入该文件。示例:如果我想退出title={string},我想购买Boeing 737-800 Paint 1和Boeing 737-800 Paint 2(它们可以命名为任何东西)。这是我正在使用的代码(仅首次发现):

Dim path As String = "C:\Aircraft.cfg" '<<<<<CHANGE THIS LATER

        'GET LINE HUMBER OF STRING
        Dim firstNumber As Integer
        Dim toSearch = "ui_variation="
        Dim lineNumber = File.ReadLines(path).
                 Where(Function(l) l.Contains(toSearch))
                 Select(Function(l, index) index)    
        If lineNumber.Any Then
            firstNumber = lineNumber.First
        End If    
        'READS WHAT IS IN THE LINE WITH LINE NUMBER
        Using file As New StreamReader(path)
            For i As Integer = 1 To firstNumber + 1
                If file.ReadLine() Is Nothing Then
                    Throw New ArgumentOutOfRangeException("lineNumber")
                End If
            Next
            Dim line As String = file.ReadLine()
            If line Is Nothing Then
                Throw New ArgumentOutOfRangeException("lineNumber")
            End If
            MsgBox(line)
        End Using
标记

您的文件看起来像是ini文件,因此有一些用于读取该格式的选项但是,要获取特定键的所有值,您的代码几乎就在那里。您可以选择以下值来代替选择匹配行的索引并重新读取文件:

Dim values As IEnumerable(Of String) =
    File.ReadLines(path).
        Where(Function(l) l.Contains(toSearch)).
        Select(Function(l) l.Split("="c)(1))
For Each value In values
    MsgBox(value)
Next

更新

这是一种可能(尽管不是特别有效)的方式来更新数据:

' Note: ReadAllLines to read the complete file into memory
Dim lines = File.ReadAllLines(path)
For i = 0 To lines.Count - 1
    If lines(i).Contains(toSearch) Then
        lines(i) &= " - updated"
        ' or perhaps something like
        ' lines(i) = toSearch & "New Value"
    End If
Next
File.WriteAllLines(path, lines)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PowerShell-删除文本文件的所有行,直到找到特定字符串

来自分类Dev

如何提取文本文件中的特定行以及包含特定字符串的多行?

来自分类Dev

如何从以特定单词/字符串开头的文本文件中选择特定行?

来自分类Dev

搜索文本文件,直到特定的字符串

来自分类Dev

从文本文件中提取特定的字符串

来自分类Dev

从文本文件中获取特定字符串

来自分类Dev

如何只读取特定字符串后的文本文件中的行?

来自分类Dev

如何使用Racket语言在纯文本文件的特定行写入字符串?

来自分类Dev

删除包含特定字符串的文本文件中的行 /

来自分类Dev

搜索文本文件,并在使用批处理文件找到特定字符串时将其附加

来自分类Dev

从文本文件中提取多次出现的子字符串

来自分类Dev

编辑(sed)文件中出现字符串的特定行

来自分类Dev

将包含特定字符串的文本文件中的每一行复制到新文本文件的程序

来自分类Dev

在文本文件中找到动态字符串

来自分类Dev

如何用文本文件中的随机行多次替换字符串

来自分类Dev

在文本文件中的特定字符串之后读取行,然后将数据存储在列表中

来自分类Dev

我如何解析读取所有行的文本文件中的特定字符串?

来自分类Dev

如何删除文本文件中不是大于特定值的数字的所有行?(包括字符串)

来自分类Dev

将文本文件批量拆分为出现字符串的文本文件

来自分类Dev

使用C ++仅从文本文件中读取同一行中特定搜索的字符串之后的字符串/字符/数据

来自分类Dev

使用PowerShell计算文本文件中的特定字符串

来自分类Dev

如何在文本文件中获取特定字符串

来自分类Dev

通过特定的定界符对字符串进行操作并写入文本文件

来自分类Dev

读取文本文件,处理字符串并以特定格式导出csv

来自分类Dev

如何从文本文件中的字符串中提取特定单词?C ++

来自分类Dev

从文本文件VBA中提取数据,其中该行包含特定字符串

来自分类Dev

从文本文件VBA中提取数据,其中该行包含特定字符串

来自分类Dev

Bash,从文本文件中检索两组特定的字符串

来自分类Dev

JAVA:从文本文件中获取特定字符串的内容

Related 相关文章

  1. 1

    PowerShell-删除文本文件的所有行,直到找到特定字符串

  2. 2

    如何提取文本文件中的特定行以及包含特定字符串的多行?

  3. 3

    如何从以特定单词/字符串开头的文本文件中选择特定行?

  4. 4

    搜索文本文件,直到特定的字符串

  5. 5

    从文本文件中提取特定的字符串

  6. 6

    从文本文件中获取特定字符串

  7. 7

    如何只读取特定字符串后的文本文件中的行?

  8. 8

    如何使用Racket语言在纯文本文件的特定行写入字符串?

  9. 9

    删除包含特定字符串的文本文件中的行 /

  10. 10

    搜索文本文件,并在使用批处理文件找到特定字符串时将其附加

  11. 11

    从文本文件中提取多次出现的子字符串

  12. 12

    编辑(sed)文件中出现字符串的特定行

  13. 13

    将包含特定字符串的文本文件中的每一行复制到新文本文件的程序

  14. 14

    在文本文件中找到动态字符串

  15. 15

    如何用文本文件中的随机行多次替换字符串

  16. 16

    在文本文件中的特定字符串之后读取行,然后将数据存储在列表中

  17. 17

    我如何解析读取所有行的文本文件中的特定字符串?

  18. 18

    如何删除文本文件中不是大于特定值的数字的所有行?(包括字符串)

  19. 19

    将文本文件批量拆分为出现字符串的文本文件

  20. 20

    使用C ++仅从文本文件中读取同一行中特定搜索的字符串之后的字符串/字符/数据

  21. 21

    使用PowerShell计算文本文件中的特定字符串

  22. 22

    如何在文本文件中获取特定字符串

  23. 23

    通过特定的定界符对字符串进行操作并写入文本文件

  24. 24

    读取文本文件,处理字符串并以特定格式导出csv

  25. 25

    如何从文本文件中的字符串中提取特定单词?C ++

  26. 26

    从文本文件VBA中提取数据,其中该行包含特定字符串

  27. 27

    从文本文件VBA中提取数据,其中该行包含特定字符串

  28. 28

    Bash,从文本文件中检索两组特定的字符串

  29. 29

    JAVA:从文本文件中获取特定字符串的内容

热门标签

归档