如何转换字符串:
"Microsoft Windows XP Professional x64 Edition|C:\\WINDOWS|\\Device\\Harddisk4\\Partition1"
到
"Microsoft Windows XP Professional x64 Edition"
...使用正则表达式?
我想删除|
符号之后的所有符号。通过Regex.Replace
轻松实现它吗?我在哪里可以找到Regex.Replace
模式的语法描述?
答案 0 :(得分:13)
你不需要正则表达式。您可以使用子字符串:
var text = @"Microsoft Windows XP Professional x64 Edition|C:\WINDOWS|\Device\Harddisk4\Partition1";
text = text.Substring(0,text.IndexOf("|"));
答案 1 :(得分:9)
string str = @"Microsoft Windows XP Professional x64 Edition|C:\WINDOWS|\Device\Harddisk4\Partition1";
string str2 = str.Split('|')[0];
str2 =“Microsoft Windows XP Professional x64 Edition”
答案 2 :(得分:3)
如果您决定使用正则表达式:
Regex p = new Regex(@"([^|]*)|");
string s = @"Microsoft Windows XP Professional x64 Edition|C:\\WINDOWS|\\Device\\Harddisk4\\Partition1";
s = p.Match(s).Value;
答案 3 :(得分:1)
使用String.Split(),它产生一个String [],然后拾取元素零。
答案 4 :(得分:1)
string GetOSType(string data)
{
return data.Split(Convert.ToChar("|"))[0];
}
这假设字符串总是要拆分。可能确定你想要围绕这个函数包装一个try-catch块。
答案 5 :(得分:0)
如果您还想了解更多有关正则表达式的信息,可以使用Cheat Sheet和简单的在线regex builder tool来帮助您入门。
答案 6 :(得分:0)
一个简单的解决方案可能是使用:
string szOrig = "Microsoft Windows XP Professional x64 Edition|C:\\WINDOWS|\\Device\\Harddisk4\\Partition1";
string[] separator = new string[] { "|" };
string[] szTemp = szOrig.Split(separator, StringSplitOptions.RemoveEmptyEntries);
string szRequired = szTemp[0];
可能不是最好的方式,但有效。