首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RegEx:先用分隔符拆分字符串,再用另一个分隔符拆分

RegEx:先用分隔符拆分字符串,再用另一个分隔符拆分
EN

Stack Overflow用户
提问于 2013-06-12 20:20:57
回答 2查看 242关注 0票数 1

所需的行为存在问题。

假设有一个

代码语言:javascript
运行
复制
sourceString = @"name1$$value1^name2$$value2^name3$$value3";

也许更长的弦..。

我想先按^分隔符拆分,然后按另一个$$拆分,以基于此名称-值对创建字典。

此字符串存储在文件中,因此可能太长,任何拆分操作都可能会花费太多时间。我希望有一个由^匹配的正则表达式和由$$匹配的内部组。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-12 20:26:48

这个正则表达式(.*?)\$\$(.*?)(?:\^|$)将匹配名称值对,下面是一个Rubular to prove it。要使用它,您可以使用以下代码:

代码语言:javascript
运行
复制
var input = "name1$$value1^name2$$value2^name3$$value3";
var pattern = @"(.*?)\$\$(.*?)(?:\^|$)";
var hash = new Dictionary<string, string>();
var match = Regex.Match(input, pattern);

while (match.Success)
{
    hash.Add(match.Groups[1].Value, match.Groups[2].Value);
    match = match.NextMatch();
}
票数 3
EN

Stack Overflow用户

发布于 2013-06-12 20:29:59

为什么不使用:

代码语言:javascript
运行
复制
sourceString.Split(new char[] {'^'}, StringSplitOptions.RemoveEmptyEntries)

然后,您可以对$$执行相同的操作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17065363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档