我有一个字符串
string str = "a_b_c_ _ _abc_ _ _ _abcd";
现在,str必须转换为这种格式的字符串:
[a][b][c][_ _abc][_ _ _abcd]
如何做到这一点?
答案 0 :(得分:0)
有点快,但你应该明白这一点。
public static void Main(string[] args)
{
Regex regex = new Regex("(([_ ]*[a-z]+)_ ?)+([_ ]*[a-z]+)");
string str = "a_b_c_ _ _abc_ _ _ _abcd";
Match match = regex.Match(str);
// 2 - because of specific regex construction
for (int i = 2; i < match.Groups.Count; i++) {
foreach (Capture capture in match.Groups[i].Captures)
Console.Write("[{0}]", capture.Value);
}
Console.ReadLine();
}
stdout
[a][b][c][_ _abc][_ _ _abcd]
答案 1 :(得分:0)
另一种方式:
string res = "[" + Regex.Replace(str, @"([^_\s])_\s*", "$1][") + "]";