次の形式の文字列があります。
string s1 = "#1233 + #343 - #24311";
string s2 = "(#563*#534)/#2333";
各文字列について、#NUMBER 形式のすべての部分文字列を取得するにはどうすればよいですか?
例: #1233
、#343
、#24311
これらの数字の桁数は固定ではなく、必ずしもスペースで区切られているわけではありません。
次の形式の文字列があります。
string s1 = "#1233 + #343 - #24311";
string s2 = "(#563*#534)/#2333";
各文字列について、#NUMBER 形式のすべての部分文字列を取得するにはどうすればよいですか?
例: #1233
、#343
、#24311
これらの数字の桁数は固定ではなく、必ずしもスペースで区切られているわけではありません。
GSerg が正規表現について親切に指摘してくれたので、実装を示したいだけです。
MatchCollection matches = Regex.Matches(s1, @"#\d+");
string[] result = matches.Cast<Match>()
.Select(match => match.Value)
.ToArray();
Console.WriteLine( string.Join(Environment.NewLine, result) );
プリントs1
#1233
#343
#24311