vb.net文本文件按行拆分为组合框
test
cool
username: username1
username: username2
username: username3
username: username4
username: username5
test
我想在添加组合框中提取所有5个用户名
答案 0 :(得分:2)
您可以将这些行读入数组,然后使用void WAVELET (float In , float Freq ):float
{
out = in * coefficients*a1*b1*c1*d1/Freq;
return in;
}
void MAKE_SPECTROGRAM2D(float[] stream)
{
for (var bands = 0, bands < 1024 , bands++)
for (var i = 0, i < AudioStream.Length , i++)
var spectrogram2D[i,j] = WAVELET(AudioStream[i] , bands*22050/1024)
}
来匹配用户名行。
从推出开始:
Regex
在代码文件的顶部,然后您可以使用以下代码:
Imports System.IO
Imports System.Text.RegularExpressions
Dim FileLines() As String = File.ReadAllLines("path to file") 'Read all the lines of the file into a String array.
Dim RgEx As New Regex("(?<=username\:\s).+", RegexOptions.IgnoreCase) 'Declare a new, case-insensitive Regex.
For Each Line As String In FileLines 'Loop through every line.
Dim m As Match = RgEx.Match(Line) 'Match the Regex pattern.
If m IsNot Nothing AndAlso m.Success = True Then 'Have we found a match?
ComboBox1.Items.Add(m.Value) 'Add the match to the ComboBox.
End If
Next
是一个能够根据指定的模式匹配子串的类。
我使用的模式可以这样解释:
Regex
(?<=username\:\s).+
:匹配以(?<=username\:
开头的行。
username:
:匹配空格字符(在\s
之后)。
username:
:在此之后匹配任何字符组合(这是您的用户名,以及从.+
返回的内容)。
在线代码测试: http://ideone.com/xnVkCc
详细了解正则表达式: MSDN - .NET Framework Regular Expressions
希望这有帮助!
修改强>
如果您想匹配 {/ strong> m.Value
和username:
,可以尝试使用以下模式声明user name:
:
Regex