在文本末尾读取两个整数

时间:2014-10-06 06:41:59

标签: c# asp.net regex

我从表单中获取以下格式的值:

text 2234-7755

我想要做的是分别读取前四个整数而不是最后四个整数值。 请让我知道我该怎么读。谢谢

4 个答案:

答案 0 :(得分:1)

string[] nums = text.Split("-");
int num1 = Convert.ToInt32(nums[0]);
int num2 = Convert.ToInt32(nums[1]);

如果您想更安全,可以使用int.TryParse

答案 1 :(得分:0)

使用分割功能并获得第一个值 一个link用于相同的

  var original="2234-7755";
  var intArray = original.Split("-");

  int part1 = Convert.ToInt32(intArray[0]);
  int part2 = Convert.ToInt32(intArray[1]);

如果您想要更多控制,也可以使用Int32.TryParse方法。

答案 2 :(得分:0)

你在找这样的东西吗?

string text = "text 2234-7755";

var matches = Regex.Matches(text, @"(\d+)");
if (matches.Count == 2)
{
    int value1 = Convert.ToInt32(matches[0].Groups[1].Value);
    int value2 = Convert.ToInt32(matches[1].Groups[1].Value);
}

答案 3 :(得分:0)

如果数字始终在最后,有8个数字,由-分隔,则不需要正则表达式:

string number = text.Substring(text.Length - 9);
string[] both = number.Split('-');
int firstNum, secondNum;
if (both.Length == 2 
    && int.TryParse(both[0], out firstNum) 
    && int.TryParse(both[1], out secondNum))
{
    Console.Write("First number is: {0}\r\nSecond number is: {1}", firstNum, secondNum);
}