如何在字符串中输入数字?

时间:2016-09-28 06:09:56

标签: c#

我想在字符串中获取整数值。任何建议?
以此为例。

  

768 - Hello World

根据前面的字符串,我想将768变为变量。怎么做?

3 个答案:

答案 0 :(得分:4)

Int32.Parse(Regex.Match(some_string, @"\d+").Value);

some_string 表示一个字符串数据类型的变量。正则表达式将返回从左开始遇到的第一个数字。在你的例子中它是768.如果 some_string 包含'hello 768',它仍将返回768。

如果你不想使用正则表达式,你可以使用一个简单的循环 -

public string GetFirstNumber(string some_string) {

   if (string.IsNullOrEmpty(some_string)) {
        return string.Empty; // You could return null to indicate no data
   }

    StringBuilder sb = new StringBuilder();
    bool found = false;

    foreach(char c in some_string){
        if(Char.IsDigit(c)){
            sb.Append(c);
            found = true;
        } else if(found){
            // If we have already found a digit, 
            // and current character is not a digit, stop looping
            break;                
        }
    }

    return sb.ToString();
}

答案 1 :(得分:1)

按空格分割并获取第一个元素。将其解析为整数。

string str = "768 - Hello World";
int i = Int32.Parse(str.Split(' ').First());

答案 2 :(得分:1)

public int GetLeadingIntegerFromString(string myString)
{
    if (string.IsNullOrWhiteSpace(myString))
        return;

    var parts = myString.Split('-');
    if (parts.Length < 1)
        return;

    var number = int.Parse(parts[0].Trim());

    return number;
}