首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从旧字符串生成新字符串,C#

从旧字符串生成新字符串,C#
EN

Stack Overflow用户
提问于 2010-08-12 16:18:43
回答 2查看 162关注 0票数 1

输入:

代码语言:javascript
复制
X(P)~AK,X(MV)~AK

预期输出:

代码语言:javascript
复制
P(curr=AK),MV(curr=AK)

使用C#3.0

我通过使用字符串函数(拆分,然后追加等)解决了这个问题。

寻找更多的小众解决方案(如正则表达式)

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-12 16:31:42

代码语言:javascript
复制
var output = Regex.Replace(input, @"X\(([A-Z]+)\)~([A-Z]+)", "$1(curr=$2)");

这将用something1(curr=something2)替换所有出现的X(something1)~something2。所有“某物”都被假定为大写字符序列。

票数 7
EN

Stack Overflow用户

发布于 2010-08-12 16:29:59

一种可能的解决方案是使用正则表达式。它不是最干净的,但你可以从这里开始。

代码语言:javascript
复制
string process(string s)
{
    string ret = "";
    System.Text.RegularExpressions.Regex r = new Regex(@"X\(([A-Z]+)\)~([^,]+)\,?");
    bool first = true;
    foreach (Match m in r.Matches(s))
    {
        ret += (first ? "" : ",") + m.Groups[1] + "(curr=" + m.Groups[2] + ")";
        first = false;
    }
    return ret;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3465852

复制
相关文章

相似问题

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