如何在C#中拆分两个字符串并交换切片部分?

时间:2013-04-18 08:24:29

标签: c# string split

我有一个数组,每个索引都包含一个包含四个字符的字符串。我需要在字符串中选择一个随机点,然后在同一点切片stringaArray[0]stringaArray[1]并交换它们的切片部分并将它们添加到splicedStringArray[0]splicedStringArray[1]

我知道如何在C#中使用split并且我一直在尝试使用它,但它只会将字符串拆分为字符而不是部分。我问这个问题是因为我的思维方式是创建大量变量来保存临时字符串,然后将它们添加到splicedStringArray[]

这是我最近尝试找到字符串的开头中间和结尾,并希望将我想要的任何内容复制到新的字符串然后将它们存储在第二个数组中:

            string s = stringaArray[0];
            char[] charArray = s.ToCharArray();

            int amount = charArray.Length;

            int findMiddle = amount / 2 + 1;

            int midchar = findMiddle - 1;
            int findLast = amount - 1;


            char fchar = charArray[0];
            char mchar = charArray[midchar];
            char lchar = charArray[findLast];

我也在查看C#中的字符串构建器类,并想知道是否有我可以使用的东西,但我想我会花很多时间在这上面并开发最糟糕的解决方案,所以任何关于如何做的建议这将是值得赞赏的。

1 个答案:

答案 0 :(得分:1)

要在确切位置拆分,请使用String.Substring。这样,您可以将分割为某个点,分割出来。最简单的解决方案与此类似:

var offset = 1;
splicedStringArray[0] = stringArray[0].Substring(0, offset) + stringArray[1].Substring(offset);
splicedStringArray[1] = stringArray[1].Substring(0, offset) + stringArray[0].Substring(offset);

免责声明:代码是在未经测试的情况下编写的。