如何只使用此格式的字符串中的数字:
"####-somestring"
"###-someotherstring"
"######-anotherstring"
答案 0 :(得分:10)
int.parse( Regex.match(String, @"\d+").value)
答案 1 :(得分:3)
string s = "####-somestring";
string digits = s.Substring(0, s.IndexOf("-") - 1);
int parsedDigits = int.Parse(digits);
对于更复杂的组合,您必须使用Regex。
答案 2 :(得分:2)
如果你确定它们中总是会有' - ',你可以使用字符串拆分功能。
string cutThisUp = "######-anotherstring";
string[] parts = cutThisUp.Split(Convert.ToChar("-"));
int numberPart = Convert.ToInt32(parts[0]);
答案 3 :(得分:1)
您可以使用以下内容:
string s = "####-somestring";
return Regex.Match(s, "(\d)+").Value);
答案 4 :(得分:1)
还有另一种选择:拆分-
字符并尝试解析结果数组中的第一项(这与nbushnell的建议相同,但增加了一些安全性):
public bool TryGetNumberFromString(string s, out int number) {
number = default(int);
string[] split = s.Split('-');
if (split.Length < 1)
return false;
return int.TryParse(split[0], out number);
}