我遇到问题,无法解决该程序。我想识别文本中三位数以上的数字,并将它们从左到右分开,以便可以阅读。请记住,指导时我是初学者
我没有参加任何测试,因为我根本不会写
我不确定你实际上想要做什么,并不完全清楚“将它们从左到右分开”意味着什么,但在 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