【发布时间】:2017-11-03 17:56:16
【问题描述】:
我一直在尝试导入一个文本文件,确切地说是 .po 格式,其中包含常规文本。
[文字示例]
#: C:\Users\andrei\Desktop\sitemile_themes\ProjectTheme/archive-project.php:69
#: C:\Users\andrei\Desktop\sitemile_themes\ProjectTheme/taxonomy.php:108 msgstr "所有已发布的项目"
msgstr "Все запросы"#: C:\Users\andrei\Desktop\sitemile_themes\ProjectTheme/archive-project.php:70
#: C:\Users\andrei\Desktop\sitemile_themes\ProjectTheme/taxonomy.php:109 #, php 格式
msgstr "%s 中最新发布的项目"
msgstr "Последние запросы в %s"
导入后,我需要检查导入的文本并找到以 msgid "example" 和 msgstr "example 2" 开头的字符串,然后将它们导入到一个有 2 列的 listview1 中,因为 msgid 是一个项目,而 msgstr 是子项,导入后如下所示。
[示例列表视图1]
Column One | Column Two
Example | Example 2
--------------------------
并导入'msgid'和'msgstr'下引号中的每个字符串 我将文本导入 vb.net 表单没有问题,但我似乎无法通过导入的文本并提取“msgid "example"' 和 'msgstr "example 2"' 字符串。任何人都知道如何实现这一目标?
编辑:对不起,我忘了显示我当前尝试使用的代码! 要导入文件,我使用此代码
Dim fileReader As System.IO.StreamReader
fileReader =
My.Computer.FileSystem.OpenTextFileReader("C:\Users\pasha\Desktop\en_US.po")
Dim stringReader As String
stringReader = fileReader.ReadToEnd()
TextBox1.Text = stringReader
这没问题,但由于某种原因,它把它放在我的文本框中(启用多行)作为一个整体,忽略原始文本文件的行。
对于扫描字符串,我使用
For Each line In TextBox1.Text
If line.ToString.Contains("msgid") Then
ListView1.Items.Add(line.ToString.Replace("msgid ", ""))
End If
Next
但由于某种原因,这段代码甚至没有添加它找到的任何一行,我认为它甚至根本找不到任何东西。对不起,新手编码,我对这一切都很陌生。
【问题讨论】:
-
没有任何代码很难提供帮助。如果你只是想让我们为你写代码,那你就来错地方了。阅读How to Ask 并获取tour
-
嗯,你做了什么不工作?你努力的一个例子是获得答案的好方法
-
对不起!我已经编辑了帖子并包含了我当前使用的代码。
-
请阅读How to Ask 并使用tour。 UI 控件会产生可怕的变量。
File.ReadAllLines()是您加载数据所需的全部内容。第二个 sn-p 中的过滤只是寻找一行是否包含字符串,而不是 STARTSWITH,因为帖子表明