c#中以特定数字开头的分隔整数
Separate integers starting with specific number in c#
我想编写一个程序,将整数与长段落分开。我写了这段代码:
using System;
using System.Text.RegularExpressions;
namespace hhhhh
{
public class Program
{
public static void Main()
{
string roll;
roll = Console.ReadLine();
string var = roll;
string mynumber = Regex.Replace(var, @"D", "");
Console.WriteLine("Roll Numbers: " + mynumber);
}
}
}
它工作正常,但问题是它将段落中的所有数字放在一起。比如,如果我将其粘贴为 string
roll:
JAKARIA MAHMUD 10:41 AM
4005
TAHAMEED KARIM 10:41 AM
4085
SHAHRIA ILTIMAS 10:41 AM
4007
SAKER MUNSHI 10:41 AM
4038
输出显示如下:
Roll Numbers:
10414005104140851041400710414038
但我希望程序只分隔以 4 开头的整数,并且它们不应该在一起,而是分开的数字。像这样:
Roll Numbers:
4005, 4085, 4007, 4038
我该怎么做?这是我大学的出勤报告。
您可以尝试Regex
匹配和Linq组合:
using System;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
...
public static void Main() {
string roll = Console.ReadLine();
string result = string.Join(", ", Regex
.Matches(roll, "[0-9]{4,}")
.Cast<Match>()
.Select(match => match.Value));
Console.WriteLine("Roll Numbers: " + result);
}
我使用了 [0-9]{4,}
模式,它只匹配 4
或更多数字的整数(为了摆脱 10
,41
在 10:41
片段)
使用匹配:
string pattern = @"\d+";
string input = "JAKARIA MAHMUD 10:41 AM 4005 TAHAMEED KARIM 10:41 AM 4085 SHAHRIA ILTIMAS 10:41 AM 4007 SAKER MUNSHI 10:41 AM 4038";
MatchCollection matches = Regex.Matches(input, pattern);
var results = string.Join(",", matches.Cast<Match>().Select(x => x.Value));
我想编写一个程序,将整数与长段落分开。我写了这段代码:
using System;
using System.Text.RegularExpressions;
namespace hhhhh
{
public class Program
{
public static void Main()
{
string roll;
roll = Console.ReadLine();
string var = roll;
string mynumber = Regex.Replace(var, @"D", "");
Console.WriteLine("Roll Numbers: " + mynumber);
}
}
}
它工作正常,但问题是它将段落中的所有数字放在一起。比如,如果我将其粘贴为 string
roll:
JAKARIA MAHMUD 10:41 AM 4005 TAHAMEED KARIM 10:41 AM 4085 SHAHRIA ILTIMAS 10:41 AM 4007 SAKER MUNSHI 10:41 AM 4038
输出显示如下:
Roll Numbers: 10414005104140851041400710414038
但我希望程序只分隔以 4 开头的整数,并且它们不应该在一起,而是分开的数字。像这样:
Roll Numbers: 4005, 4085, 4007, 4038
我该怎么做?这是我大学的出勤报告。
您可以尝试Regex
匹配和Linq组合:
using System;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
...
public static void Main() {
string roll = Console.ReadLine();
string result = string.Join(", ", Regex
.Matches(roll, "[0-9]{4,}")
.Cast<Match>()
.Select(match => match.Value));
Console.WriteLine("Roll Numbers: " + result);
}
我使用了 [0-9]{4,}
模式,它只匹配 4
或更多数字的整数(为了摆脱 10
,41
在 10:41
片段)
使用匹配:
string pattern = @"\d+";
string input = "JAKARIA MAHMUD 10:41 AM 4005 TAHAMEED KARIM 10:41 AM 4085 SHAHRIA ILTIMAS 10:41 AM 4007 SAKER MUNSHI 10:41 AM 4038";
MatchCollection matches = Regex.Matches(input, pattern);
var results = string.Join(",", matches.Cast<Match>().Select(x => x.Value));