AB123CD3456QSww1Q345 C#拆分AB CD 6QS 1Q间隔的数据
时间: 2024-09-29 11:09:56 浏览: 43
在C#中,你可以使用正则表达式(Regular Expression)来拆分这样的数据,因为这种字符串中的分隔不是固定的字符。假设我们想要拆分"AB123CD3456QSww1Q345"成"AB"、"CD"、"6QS"和"1Q",可以创建一个正则表达式模式匹配这些间隔:
```csharp
using System.Text.RegularExpressions;
string input = "AB123CD3456QSww1Q345";
string pattern = @"(\b[A-Z]{2})(?=\d{3})|(?<=[A-Z]{2})\d{3}(?=\D)|\D{3}\D";
MatchCollection matches = Regex.Matches(input, pattern);
List<string> result = new List<string>();
foreach (Match match in matches)
{
result.Add(match.Value);
}
// 结果:result将会包含 ["AB", "CD", "6QS", "1Q"]
```
这里,正则表达式模式解释如下:
- `\b[A-Z]{2}` 匹配两个大写字母的边界。
- `\d{3}` 匹配三个连续数字。
- `(?<=...)` 和 `(?=...)` 分别表示前向和后向引用,用于查找满足条件的位置,但不包括自身。
请注意,这种方法假定输入的结构总是"AB"后跟三位数,然后可能是"CD"和三位数,最后是一组由非数字组成的序列。如果实际结构有所不同,可能需要调整正则表达式。
阅读全文