从转换后的字节字符串中解析特定字符串
Parse a specific string from a converted bytes string
我有 URL 文件,它以字节为单位返回,我正在使用流 reader 读取这些字节以获取文件中的数据。转换后的 .URL 数据如下。
[DEFAULT]
BASEURL=http://someUrl.com/employee-view/index.aspx?id=123
[InternetShortcut]
URL=http://someUrl.com/employee-view/index.aspx?id=123[=10=]
我只想解析基础 URL 字符串 -- http://someUrl.com/employee-view/index.aspx?id=123
我可以使用以下代码提取 baseUrl 字符串。但我正在寻找更好的方法。
using (var reader = new StreamReader(new MemoryStream(docStream.DocumentBytes)))
{
string f = reader.ReadToEnd();
if (!string.IsNullOrWhiteSpace(f))
{
string[] arr = f.Split('=');
StringBuilder url = new StringBuilder(arr[1]);
var a = arr[2].Split('[')[0];
url.Append(SR.Common.Equals).Append(a);
string finalUrl = url.ToString();
}
}
我只需要基础 URL 字符串 -- http://someUrl.com/employee-view/index.aspx?id=123
好吧,如果你的意思是更小的代码
使用 Linq:
finalUrl = f.Replace("[=10=]","").Replace("\r","")
.Split('\n')
.FirstOrDefault(x=>x.StartsWith("URL"))
.Split(new[] {'='},2)[1];
使用正则表达式:
finalUrl = Regex.Match(f,@"(?<=URL\=).+").Value;
我有 URL 文件,它以字节为单位返回,我正在使用流 reader 读取这些字节以获取文件中的数据。转换后的 .URL 数据如下。
[DEFAULT]
BASEURL=http://someUrl.com/employee-view/index.aspx?id=123
[InternetShortcut]
URL=http://someUrl.com/employee-view/index.aspx?id=123[=10=]
我只想解析基础 URL 字符串 -- http://someUrl.com/employee-view/index.aspx?id=123
我可以使用以下代码提取 baseUrl 字符串。但我正在寻找更好的方法。
using (var reader = new StreamReader(new MemoryStream(docStream.DocumentBytes)))
{
string f = reader.ReadToEnd();
if (!string.IsNullOrWhiteSpace(f))
{
string[] arr = f.Split('=');
StringBuilder url = new StringBuilder(arr[1]);
var a = arr[2].Split('[')[0];
url.Append(SR.Common.Equals).Append(a);
string finalUrl = url.ToString();
}
}
我只需要基础 URL 字符串 -- http://someUrl.com/employee-view/index.aspx?id=123
好吧,如果你的意思是更小的代码
使用 Linq:
finalUrl = f.Replace("[=10=]","").Replace("\r","")
.Split('\n')
.FirstOrDefault(x=>x.StartsWith("URL"))
.Split(new[] {'='},2)[1];
使用正则表达式:
finalUrl = Regex.Match(f,@"(?<=URL\=).+").Value;