c# 在文本中分割数字

问题描述 投票:0回答:1

我遇到问题,无法解决该程序。我想识别文本中三位数以上的数字,并将它们从左到右分开,以便可以阅读。请记住,指导时我是初学者

我没有参加任何测试,因为我根本不会写

c# string methods numbers
1个回答
0
投票

我不确定你实际上想要做什么,并不完全清楚“将它们从左到右分开”意味着什么,但在 C# 中你可以使用所谓的正则表达式,例如,如果你想要“Words1234”变成“Words”和“1234”你会这样做:

string input = "Words1234";

string pattern = @"\b\d{4,}\b";

MatchCollection matches = Regex.Matches(input, pattern);

string resultText = input;

string separatedNumbers = "";

        // Iterate over all matches
        foreach (Match match in matches)
        {
            // Append the matched number to separated numbers
            separatedNumbers += match.Value + " ";

            // Replace the matched number with empty string in result text
            resultText = resultText.Replace(match.Value, "");
        }

// Trim any extra spaces from the separated numbers
separatedNumbers = separatedNumbers.Trim();

// Output results
Console.WriteLine($"Text without numbers: \"{resultText}\"");
Console.WriteLine($"Separated numbers: {separatedNumbers}");

这样做的目的是查找位数为 4 或更高的数字,然后从原始字符串中提取它,因此它将“words1234”转换为“words”和“1234”,但会将“words123”保留为“字数123"

这里有正则表达式的完整解释:

https://www.mikesdotnetting.com/article/46/c-regular-expressions-cheat-sheet

© www.soinside.com 2019 - 2024. All rights reserved.