编辑可变长度的字符串

时间:2010-02-16 20:41:04

标签: c# .net

如何只使用此格式的字符串中的数字:

       "####-somestring"
       "###-someotherstring"
       "######-anotherstring"

5 个答案:

答案 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);
}