我想在字符串中获取整数值。任何建议?
以此为例。
768 - Hello World
根据前面的字符串,我想将768变为变量。怎么做?
答案 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;
}