C# 如何解析整数和字符串中的剩余字符串?

C# 如何解析整数和字符串中的剩余字符串?,c#,C#,我有这样的字符串: 1. abc 2. def 88. ghi 我希望能够从字符串中获取数字并将其放入变量中,然后获取字符串的剩余部分并将其放入另一个变量中。数字始终位于字符串的开头,数字后面有一个句点。有没有一种简单的方法可以将一个字符串解析为一个数字和一个字符串?您可以调用IndexOf和Substring: int dot = str.IndexOf("."); int num = int.Parse(str.Remove(dot).Trim()); string rest = str.

我有这样的字符串:

1. abc
2. def
88. ghi

我希望能够从字符串中获取数字并将其放入变量中,然后获取字符串的剩余部分并将其放入另一个变量中。数字始终位于字符串的开头,数字后面有一个句点。有没有一种简单的方法可以将一个字符串解析为一个数字和一个字符串?

您可以调用
IndexOf
Substring

int dot = str.IndexOf(".");
int num = int.Parse(str.Remove(dot).Trim());
string rest = str.Substring(dot).Trim();

也许不是最好的方式,但是,由“.”分割(谢谢柯克)

后面的所有内容都是字符串,前面的所有内容都是数字。

var input=“1.abc”;
        var input = "1. abc";
        var match = Regex.Match(input, @"(?<Number>\d+)\. (?<Text>.*)");
        var number = int.Parse(match.Groups["Number"].Value);
        var text = match.Groups["Text"].Value;
var match=Regex.match(输入,@“(?\d+)\。(?.*); var number=int.Parse(match.Groups[“number”].Value); var text=match.Groups[“text”].Value;
这应该可以:

public void Parse(string input)
{
    string[] parts = input.Split('.');
    int number = int.Parse(parts[0]); // convert the number to int
    string str = parts[1].Trim(); // remove extra whitespace around the remaining string
}
第一行将字符串拆分为字符串数组,其中第一个元素是数字,第二个元素是字符串的其余部分

然后可以使用
int.Parse

公共元组拆分项(字符串项)将数字转换为整数
public Tuple<int, string> SplitItem(string item)
{
    var parts = item.Split(new[] { '.' });
    return Tuple.Create(int.Parse(parts[0]), parts[1].Trim());
}

var tokens = SplitItem("1. abc");
int number = tokens.Item1;  // 1
string str = tokens.Item2;  // "abc"
{ var parts=item.Split(新[]{.'}); 返回Tuple.Create(int.Parse(parts[0]),parts[1].Trim()); } var代币=分割项目(“1.abc”); int number=tokens.Item1;//1. string str=tokens.Item2;//“abc”
+1,但分隔符应为
(点空间)。之后的相关函数是
int.Parse(string)
。谁说可能有两点?非常感谢。您的解决方案看起来很容易实现。还有一个简短的问题。我想把num转换成一个前导为零的字符串。有没有一个简单的方法呢?@Fusako:
.ToString(“000000”)
。请参见不要忘记将第一个点反斜杠:
(?\d+)\。(?*)
@cxfx-是的,bug。非常感谢。更正了答案。