我在文本中使用|
作为分隔符。
示例:
|2P|1|U|F8|
我希望结果为2P|1|U|F8
。我怎么能这样做?
答案 0 :(得分:5)
正则表达式非常简单,但为什么不使用Trim()
:
var str = "|2P|1|U|F8|";
str = str.Trim(new[] {'|'});
或只是没有new[] {...}
:
str = str.Trim('|');
输出:
如果有前导/尾随空格,您可以使用链式修剪:
var str = "\r\n |2P|1|U|F8| \r\n";
str = str.Trim().Trim('|');
输出将是相同的。
答案 1 :(得分:2)
您可以使用String.Substring
:
string str = "|2P|1|U|F8|";
string newStr = str.Substring(1, str.Length - 2);
答案 2 :(得分:1)
答案 3 :(得分:1)
只需删除开始和结束分隔符。
@"^\||\|$"
使用下面的正则表达式,然后用空字符串替换匹配。
Regex rgx = new Regex(@"^\||\|$");
string result = rgx.Replace(input, "");
当你处理多行时使用mulitline修饰符m
。
Regex rgx = new Regex(@"(?m)^\||\|$");
由于|
是正则表达式中的特殊字符,因此您需要按顺序对其进行转义以匹配文字|
符号。
答案 4 :(得分:1)
string input = "|2P|1|U|F8|";
foreach (string item in input.Split("|".ToCharArray(), StringSplitOptions.RemoveEmptyEntries))
{
Console.WriteLine(item);
}
结果是:
2P
1
U
F8
答案 5 :(得分:1)
对于完成者而言,您也可以使用Mid
Strings.Mid("|2P|1|U|F8|", 2, s.Length - 2)
这将从第二个字符切割到前一个到最后一个字符并产生正确的输出。
答案 6 :(得分:1)
我假设在某些时候你会想要解析字符串以提取其字符串|
'分开的组件,所以这里是另一个方向:
string.Join("|", theString.Split(new[] {'|'}, StringSplitOptions.RemoveEmptyEntries))