110,536
社区成员
发帖
与我相关
我的任务
分享
string txt = "[文本]:AAAAAAAA[文本]:AAAAAAAA[文本]:AAAAAAAA";
string encrypttxt = "[文本]:BBBBBBB[文本]:BBBBBBB[文本]:BBBBBBB";
string txt = "[文本1]:A123456[文本2]:AA123456[文本3]:AAA123456";
var dict = new Dictionary<string, string>();
dict.Add("A123456", "B1B2B3B4");
dict.Add("AA123456", "BBBB1234");
dict.Add("AAA123456", "BBB12345");
var res = Regex.Replace(txt, @"(?<=:)\w+", x=> dict.ContainsKey(x.Value) ? dict[x.Value] : x.Value );
Console.WriteLine(res);
txt.split("[文本]:")
加密完后再使用
txt= string.join(txtlst,"[文本]:")
即可
有些方法不常用,前后顺序大小写可能出错,自己百度补充一下。[/quote]
我上面写的可能写的不清楚.虽然写的都是"AAAAAAA",但每个"[文本]:"之间都不是一样的,所以直接去join这样有问题吧?[/quote]
那你的例子就有问题。
最优做法是先split ]: 获取以下数据:
"[文本"
"BBBBBBB[文本"
"BBBBBBB[文本"
"BBBBBBB";
再split [ 获取以下数据
list1,list2
"","文本"
"BBBBBBB","文本"
"BBBBBBB","文本"
"BBBBBBB","";
这里注意如果有null的时候就转换成""
然后加密list1,用两个list组合就能完成加密了,注意在空字符串的时候不要加密即可。
string txt = "[文本1]:A123456[文本2]:AA123456[文本3]:AAA123456";
变成string encrypttxt = "[文本1]:B1B2B3B4[文本2]:BBBB1234[文本3]:BBB12345";
只能拿"]:"和"["取字符串.txt.split("[文本]:")
加密完后再使用
txt= string.join(txtlst,"[文本]:")
即可
有些方法不常用,前后顺序大小写可能出错,自己百度补充一下。[/quote]
我上面写的可能写的不清楚.虽然写的都是"AAAAAAA",但每个"[文本]:"之间都不是一样的,所以直接去join这样有问题吧?txt.split("[文本]:")
加密完后再使用
txt= string.join(txtlst,"[文本]:")
即可
有些方法不常用,前后顺序大小写可能出错,自己百度补充一下。