如何解析字符串中的整数和剩余字符串
本文关键字:字符串 整数 何解析 | 更新日期: 2023-09-27 17:56:23
我的字符串看起来像这样:
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 match = Regex.Match(input, @"(?<Number>'d+)'. (?<Text>.*)");
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"