如何在两个字符之间拆分字符串?
我需要在所有出现的'┐'之间拆分一个字符串。和'└'。
示例字符串:
┐1 1.26582 0.0088└┐1 1.26682 0.0093└┐1 1.26922 0.0089└┐1 1.27172 0.0084└
必填格式:
┐1 1.26582 0.0088└ ┐1 1.26682 0.0093└ ┐1 1.26922 0.0089└ ┐1 1.27172 0.0084└
答案 0 :(得分:2)
尝试过&测试强>
string input = "┐1 1.26582 0.0088└┐1 1.26682 0.0093└┐1 1.26922 0.0089└┐1 1.27172 0.0084└";
string[] substrings = Regex.Split(input, @"(?<=[└])");
<强>输出强>
┐1 1.26582 0.0088└
┐1 1.26682 0.0093└
┐1 1.26922 0.0089└
┐1 1.27172 0.0084└
答案 1 :(得分:1)
使用正则表达式:
Regex regex = new Regex("┐(.*?)└");
var matches = regex.Matches("┐1 1.26582 0.0088└┐1 1.26682 0.0093└┐1 1.26922 0.0089└┐1 1.27172 0.0084└");
foreach (Match match in matches)
Console.WriteLine(match.Value);
结果:
┐1 1.26582 0.0088└
┐1 1.26682 0.0093└
┐1 1.26922 0.0089└
┐1 1.27172 0.0084└
答案 2 :(得分:0)
尽管问题很少,我确实认为如何在字符之间而不是在它们之间拆分的问题至少有点有趣。
可以使用正则表达式轻松完成,但只需使用C#,一个快速而简洁的LINQ模式将是:
public static string[] SplitAfter(this string str, char splitter)
{
return str.Split(splitter).Skip(1).Select(s => splitter + s).ToArray();
}
所以按顺序:
Split
在OP的情况下,这将被称为:
var result = "┐1 1.26582 0.0088└┐1 1.26682 0.0093└┐1 1.26922 0.0089└┐1 1.27172 0.0084└".SplitAfter('┐');
答案 3 :(得分:0)
尝试:yourString.Split('└'),然后将└添加到返回数组的每个元素,因为你将使用Split丢失它们。