我試圖找到一種方法來分割字符串的字母和數字,但我有運氣。將文本和整數分割成數組/列表
一個例子: 我有一個字符串"AAAA000343BBB343"
我要麼需要將其分割成2個值"AAAA000343"
和"BBB343"
或成4 "AAAA"
"000343"
"BBB"
"343"
任何幫助將不勝感激
感謝
我試圖找到一種方法來分割字符串的字母和數字,但我有運氣。將文本和整數分割成數組/列表
一個例子: 我有一個字符串"AAAA000343BBB343"
我要麼需要將其分割成2個值"AAAA000343"
和"BBB343"
或成4 "AAAA"
"000343"
"BBB"
"343"
任何幫助將不勝感激
感謝
這裏是一個RegEx
方法的字符串分割成4個值
string input = "AAAA000343BBB343";
string[] result = Regex.Matches(input, @"[a-zA-Z]+|\d+")
.Cast<Match>()
.Select(x => x.Value)
.ToArray(); //"AAAA" "000343" "BBB" "343"
謝謝!這工作完全謝謝:)我真的需要更多地研究正則表達式 –
所以,你可以使用regex
對於
「AAAA000343」 和 「BBB343」
var regex = new Regex(@"[a-zA-Z]+\d+");
var result = regex
.Matches("AAAA000343BBB343")
.Cast<Match>()
.Select(x => x.Value);
// result outputs: "AAAA000343" and "BBB343"
對於
4 「AAAA」, 「000343」, 「BBB」, 「343」
見@fubo回答
試試這個:
var numAlpha = new Regex("(?<Alpha>[a-zA-Z]*)(?<Numeric>[0-9]*)");
var match = numAlpha.Match("codename123");
var Character = match.Groups["Alpha"].Value;
var Integer = match.Groups["Numeric"].Value;
這隻會搶的字母和數字,不能同時第一個實例。你應該用提供的數據來代替'codename123'。儘管如此,很好地使用了命名捕獲。 – Bobson
正則表達式是在這裏你的朋友。 –
到目前爲止您嘗試過什麼?分享你的工作,我們可以從那裏幫助..你不只是想要一個解決方案,但有一些幫助,對吧? –
你能解釋更多關於拆分嗎?你如何決定在哪裏拆分? – elyashiv