我有这种字符串File type: Wireshark - pcapng
,所以我想要的是如果我的字符串以File type:
take 和 parse开头Wireshark - pcapng
这是我尝试过的:
var myString = @":\s*(.*?)\s* ";
我有这种字符串File type: Wireshark - pcapng
,所以我想要的是如果我的字符串以File type:
take 和 parse开头Wireshark - pcapng
这是我尝试过的:
var myString = @":\s*(.*?)\s* ";
代替正则表达式,使用string.StartsWith
方法,例如:
if(str.StartsWith("File type:"))
Console.WriteLine(str.Substring("File type:".Length));
你会得到:
Wireshark - pcapng
如果您想从结果字符串中删除前导/尾随空格,请使用string.Trim
如下:
Console.WriteLine(str.Substring("File type:".Length).Trim());
或者,如果您只是想摆脱前导空格,请使用string.TrimStart,例如:
Console.WriteLine(str.Substring("File type:".Length).TrimStart(' '));
你为什么不File type:
从你的字符串中删除:
str = str.Replace("File type: ",string.Empty);
或者您可以使用以下命令检查字符串是否以开头File type:
并删除该部分string.Remove()
:
if(str.StartsWith("File type: "){
str=str.Remove(11); //length of "File Type: "
}
这应该可以解决问题:
(?<=^File type: ).*$
所以...
var match = Regex.Match("File type: Wireshark - pcapng", @"(?<=^File type: ).*$");
if(match.Success)
{
var val = match.Value;
Console.WriteLine(val);
}