我有一个字符串,如下所示
"/calc 2 3 +"
如何以这样的方式分裂
str1="/calc"
str2= "2 3 +"
c#中是否有任何方法进行特殊字符拆分? 谢谢!
答案 0 :(得分:5)
如果它只是那个字符串并且总是像你拥有它一样分裂,那么你可以这样做:
var x = @"/calc 2 3 +";
var str1 = x.Substring(0, 5);
var str2 = x.Substring(6);
否则,不,没有特别之处,因为你没有唯一的分隔符。
答案 1 :(得分:2)
使用IndexOf方法查找第一个出现的空格字符。然后使用Substring方法将字符串拆分为2。
答案 2 :(得分:1)
string strInput = @"/calc 2 3 +";
var list = strInput.Split(' ').ToList();
str1 = list[0];
str2 = String.Join(" ",list.RemoveAt(0));
答案 3 :(得分:1)
我很惊讶没有人提供最明显的答案 - 使用string.Split
重载中的一个允许您指定要返回的最大子串数:
string input = "/calc 2 3 +";
var result = input.Split(new[] { ' ' }, 2);
Debug.Assert(result.Length == 2 && result[0] == "/calc" && result[1] == "2 3 +");
答案 4 :(得分:0)
有很多方法可以做到这一点。最简单的方法是使用第一个空格的索引。
var mystr = @"/calc 2 3 +";
int index= mystr.IndexOf(' ');
var str1 = mystr.Substring(0, index);
var str2 = mystr.Substring(index+1);
如果文本中有任何模式,您也可以使用RegEx
答案 5 :(得分:0)
string a = "/calc 2 3 +";
string[] array = a.Split(' ');
str1= array[0];
str2= string.Format("{0} {1} {2}", array[1], array[2], array[3]);