最后一次出现模式C#后提取所有字符

5 c# string

字符串具有以下模式

1.0.0.0
1.0.0.1
1.0.0.2
...
...
...
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个代码,它将读取最后创建的字符串并将最后一个数字递增1并将其另存为新字符串.

我该怎么做?

最好的祝福,

魔法

Guf*_*ffa 6

您可以将字符串拆分为组件,解析最后一个组件以便可以增加它,然后将它们重新组合在一起:

string[] parts = version.Split('.');
parts[3] = (Int32.Parse(parts[3]) + 1).ToString();
version = String.Join(".", parts);
Run Code Online (Sandbox Code Playgroud)

另一种可能稍微高效的方法是使用字符串操作仅获取最后一个组件:

int pos = version.LastIndexOf('.') + 1;
int num = Int32.Parse(version.Substring(pos));
version = version.Substring(0, pos) + num.ToString();
Run Code Online (Sandbox Code Playgroud)


小智 5

如果您的意图是始终在特定字符之后获取最后一个子字符串(当然不包括分隔符(在本例中为句点)),我认为这是您的意图:

使用 1 个衬里保持简单:

string myLastSubString = myStringToParse.Split('.').Last();
Run Code Online (Sandbox Code Playgroud)

我会让其他帖子回答您的其余问题。