我怎样才能分割出像" 12-15"分成两个数字?

时间:2016-09-24 05:27:07

标签: c# string split

我的前端应用程序发送如下所示的字符串:

"12-15" 

到后端C#应用程序。

有人可以给我一些关于如何将两个数字提取为两个变量的指示。请注意,格式始终相同,两个数字和它们之间的连字符。

9 个答案:

答案 0 :(得分:2)

 string stringToSplit = "12-15";
 string[] splitStringArray;
 splitStringArray = stringToSplit.Split('-');

splitStringArray [0]将为12

splitStringArray [1]将为15

答案 1 :(得分:2)

int[] numbers = "12-15".Split('-')
        .Select(x => {
            int n;
            int.TryParse(x, out n);
            return n;
        })
        .ToArray();

答案 2 :(得分:2)

将字符串拆分为多个部分:

string s = "12-15";
string[] num = s.Split('-');
int part1 = Convert.ToInt32(num[0]);
int part2 = Convert.ToInt32(num[1]);

答案 3 :(得分:1)

我们在字符串实例上调用Split。该程序拆分单个字符

string s ="12-15";
string[] words = s.Split('-');
foreach (string word in words)
{
    int convertedvalue = Convert.ToInt32(word ); 
    Console.WriteLine(word);
}

string[] ss= s.Split('-');
int x = Convert.ToInt32(ss[0]);
int y = Convert.ToInt32(ss[1]);

more info

答案 4 :(得分:1)

这是没有错误代码的正确版本

string textReceived = "12-15";

string[] numbers = textReceived.Split('-');
List<int> numberCollection = new List<int>();
foreach (var item in numbers)
{
    numberCollection.Add(Convert.ToInt32(item));
}

答案 5 :(得分:1)

您可以使用以下代码进行拆分,它将为每个值返回字符串,然后您可以将其类型转换为您希望的任何类型...

string myString = "12-15-18-20-25-60";
string[] splittedStrings = myString.Split('-');
foreach (var splittedString in splittedStrings)
{
    Console.WriteLine(splittedString + "\n");
}
Console.ReadLine();

答案 6 :(得分:0)

IEnumerable

现在您将获得一个字符串数组,您可以使用解析来获取数字

String numberString = "12-15" ;
string[] arr = numberString.Split("-");

与解析相关的有用答案:

https://stackoverflow.com/a/199484/5395773

答案 7 :(得分:0)

string str = null;
string[] strArr = null;
int count = 0;
str = "12-15";
char[] splitchar = { '-' };

strArr = str.Split(splitchar);
for (count = 0; count <= strArr.Length - 1; count++)
{
    MessageBox.Show(strArr[count]);
}

答案 8 :(得分:0)

您可以使用Array.ConvertAll方法将该字符串显式转换为整数数组,并使用其索引访问数字,您可以运行以下示例here

using System;

namespace Rextester
{
    public class Program
    {
        public static void Main(string[] args)
        {
            var number = "12-15";
            var numbers = Array.ConvertAll(number.Split('-'), int.Parse);
            Console.WriteLine(numbers[0]);
            Console.WriteLine(numbers[1]);
        }
    }
}

或者您可以使用int.Parse方法显式转换数字字符串,int关键字是System.Int32的别名,它优先于整个系统类型名称System.Int32,您可以运行以下示例here

using System;

namespace Rextester
{
    public class Program
    {
        public static void Main(string[] args)
        {
            var number = "12-15";
            var numbers = number.Split('-');
            var one = int.Parse(numbers[0]);
            var two = int.Parse(numbers[1]);
            Console.WriteLine(one);
            Console.WriteLine(two);
        }
    }
}

补充阅读:请检查int.Parse vs. Convert.Int32 vs. int.TryParse以获得有关将输入解析为整数

的更多信息