用其他字符串替换字符串 [英] Replace string with other string

查看:84
本文介绍了用其他字符串替换字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,



我有这个:



这个字符串:

31882757623< sip:+31882757623@asklync.nl; user = phone> ;; epid = 5440626C04; tag = daa784a738,vandrielfinance.nl



必须由此替换:



Hi everybody,

I have this:

this string:
""31882757623"<sip:+31882757623@asklync.nl;user=phone>;epid=5440626C04;tag=daa784a738", "vandrielfinance.nl"

has to be replaced by this:

""31882757623"<sip:+31882757623@vandrielfinance.nl;user>;epid=5440626C04;tag=daa784a738"<br />



我有:




I have this:

<pre lang="xml">static string ReplaceSuffix(string orginal, string newString)
 {
     
     newString = orginal.Substring(0, orginal.LastIndexOf(","));
     newString.Replace(orginal, newString);
     Console.WriteLine(newString);
     return newString;
 }





但是我不知道我必须填写主要方法:





but what I dont know what I have to fill in for the main method:

static void Main(string[] args)
       {
         

           //---****Second function---***
           string OriginalSecond =   "\"31882757623\"<sip:+31882757623@asklync.nl;user=phone>;epid=5440626C04;tag=daa784a738,\" \"vandrielfinance.nl\"";
           string newString;
           ReplaceSuffix(OriginalSecond, newString );



           Console.ReadKey();
       }







谢谢



哦,我没有喜欢这样:








Thank you

Oke, I have it now like this:


static string ReplaceSuffix(string orginal, string newString)
       {
           string TobeObserved = "@";
           orginal = "\"31882757623\"<sip:+31882757623@asklync.nl;user=phone>;epid=5440626C04;tag=daa784a738";
           string second = "vandrielfinance.nl";
           string pattern = orginal.Substring(0, orginal.LastIndexOf("@"));
           newString = Regex.Replace(orginal,second, pattern);

           //newString = orginal.Substring(0, orginal.LastIndexOf(","));
           //newString.Replace(orginal, newString);

           Console.Write("Original String: {0}", orginal);
           Console.Write("\nReplacement String: \n{0}", newString);
           //Console.WriteLine(newString);
           return newString;
       }





但如何更换:asklync.nl



与此:vandrielfinance.nl;



所以新字符串将是这样的:



\31882757623 \< sip:+31882757623@vandrielfinance.nl; user> ;; epid = 5440626C04; tag = daa784a738,\\vandrielfinance.nl \;



谢谢



But how to replace this: asklync.nl

with this:"vandrielfinance.nl";

so the new string will be like this:

"\"31882757623\"<sip:+31882757623@vandrielfinance.nl;user>;epid=5440626C04;tag=daa784a738,\" \"vandrielfinance.nl\"";

Thank you

推荐答案

你没有替换任何东西。字符串是不可变的。特别是,所有字符串函数都返回一个字符串对象的全新实例 - 替换的结果,子字符串的提取,任何东西。你忽略了这个结果,而不是将它分配给任何东西。所以,你返回 newString 因为它是在第一行中分配的,在替换之前。



同样,你设法忽略了结果您自己的 ReplaceSuffix 在哪里调用它。



-SA
You are not replacing anything. Strings are immutable. It means, in particular, that all string function returns brand-new instances of a string object — result of replacement, extraction of sub-string, anything. And you are ignoring this result, not assigning it to anything. So, you return your newString as it was assigned in a first line, before replacement.

Likewise, you managed to ignore even the result of your own ReplaceSuffix where you call it.

—SA


谢尔盖是对的。字符串是不可变的。



初看起来,我有一个问题:为什么要强行打开门?您可以使用随时可用的 String.Replace方法(字符串,字符串) ) [ ^ ]



另一方面,你可以拆分 [ ^ ]将字符串分成几部分,然后加入 [ ^ ]创建新的。



如需了解更多信息,请参阅:如何to:Split Strings(C#编程指南) [ ^ ]
Sergey is right. String is immutable.

At the first look, i have one question: Why to force doors wide open? You can use ready-to-use String.Replace Method (String, String)[^]

On the other hand you can Split[^] string into parts and then Join[^] to create new one.

For further information, please see: How to: Split Strings (C# Programming Guide)[^]


static string ReplaceSuffix(string orginal, string newString)
       {
           var sentence = orginal.Split(";".ToCharArray());
           var sentence2 = sentence[0].Split("@".ToCharArray());
           sentence2[1] = newString;
           sentence[0] = string.Join("@", sentence2);
           var result = string.Join(";", sentence);

           Console.WriteLine("Original String:\n{0}\nReplacement String:\n{1}", orginal, result);


           return result;
       }


这篇关于用其他字符串替换字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆