草庐IT

c# - String.Replace(char, char) 还是 Replace(string, string)?

当我只需要将一个字符替换为另一个字符时,String.Replace(char,char)和String.Replace(string,string)之间是否存在性能差异? 最佳答案 是的,有:我做了一个快速实验,看起来字符串版本慢了大约3倍。stringa="quickbrownfoxjumpsoverthelazydog";DateTimet1=DateTime.Now;for(inti=0;i!=10000000;i++){varb=a.Replace('o','b');if(b.Length==0){break;}}Date

c# - 有没有比 String.Replace 更好的方法来从字符串中删除退格符?

我有一个从另一个来源读取的字符串,例如“\b\bfoo\bx”。在这种情况下,它将转换为单词“fox”,因为前2个\b被忽略,最后一个“o”被删除,然后被“x”替换。另外一种情况是“patt\b\b\b\b\b\b\b\b\b\bfoo”应该被翻译成“foo”我想出了一些使用String.Replace的方法,但它很复杂,我担心它不能正常工作,而且它会创建很多我想避免的新字符串对象。有什么想法吗? 最佳答案 可能最简单的方法就是遍历整个字符串。根据您的输入,以下代码可以在1-pass中完成此操作publicstringReplace

c# - 带瑞典字母的 OrderBy

我有一个自定义类Customer的列表,我想按标题的字母顺序对它们进行排序。所以我写了myList=myList.OrderByDescending(x=>x.Title).ToList();现在的问题是此方法不支持瑞典语排序字母å、ä、ö的方式。它们应该出现在字母z之后的末尾,但它们没有。所以我做了一个变通方法,在排序前替换瑞典字母,然后在词后将它们改回来。看起来像这样,但速度很慢。有人能想到更好的方法吗?privateListOrderBySwedish(ListmyList){foreach(varcustomerinmyList){customer.Title=customer

C# 通过开始和结束位置替换部分字符串

我有一个字符串,我想替换它的一部分。棘手的部分是我不能使用Regex.replace,因为我只知道字符串中数据的开始和结束位置。例如,如果字符串如下所示:Ilovecats,somemorestuffhere,wedontknowhowmuchmore我有start=8和end=11。我想将该部分替换为我需要的任何部分。这次让我们说dogs这样新的字符串看起来像:Ilovedogs,somemorestuffhere,wedontknowhowmuchmore我怎么做到的? 最佳答案 最简单的方法:stringreplaced=or

c# - 如何将英文数字转换为阿拉伯数字?

例如,我有这个C#代码DateTime.Now.ToString("MMMMdd,yyyy");现在当前线程正在加载阿拉伯文化。所以结果是这样的????19,2010但我不希望“2010”和“19”是英语(也称为拉丁语或WestArabic数字)-我想要东阿拉伯数字,如“٢”。我试过了DateTime.Now.ToString("MMMMdd,yyyy",CultureInfo.GetCultureInfo("ar-lb"));给出了相同的结果。那么有什么想法吗? 最佳答案 你的这个解决方法(只需列出你想在字符串数组中使用这个数字的

c# - 替换引号之间的任何字符串

问题:无法找到一种一致的方法来用我想要的特定字符串替换引号之间的随机字符串。任何帮助将不胜感激。示例:Stringstr1="test=\"-1\"";应该变成Stringstr2="test=\"31\"";还为工作Stringstr3="test=\"foobar\"";基本上我想转这个Stringstr4="test=\"antyhingCanGoHere\"";进入这个Stringstr4="test=\"31\"";尝试过:CaseinsensitiveRegexwithoutusingRegexOptionsenumerationHowdoyoudocase-insensi

c# - 快速替换大文件的第一行

我有很多大型csv文件(每个1-10GB),我正在将其导入数据库。对于每个文件,我需要替换第一行,以便将标题格式化为列名。我目前的解决方案是:using(varreader=newStreamReader(file)){using(varwriter=newStreamWriter(fixed)){varline=reader.ReadLine();varfixedLine=parseHeaders(line);writer.WriteLine(fixedLine);while((line=reader.ReadLine())!=null)writer.WriteLine(line);

c# - 从 C# 中的字符串中删除换行符的最快方法是什么?

我有一个字符串,其中包含一些Environment.Newline。我想从字符串中删除那些,而是用逗号之类的东西替换换行符。在您看来,使用C#.NET2.0执行此操作的最佳方法是什么? 最佳答案 为什么不呢:strings="foobar\ngork";stringv=s.Replace(Environment.NewLine,",");System.Console.WriteLine(v); 关于c#-从C#中的字符串中删除换行符的最快方法是什么?,我们在StackOverflow上找

c# - 想要从字符串中删除双引号

我在这里看到一些与删除双引号有关的问题。但这并没有解决我的问题。他们告诉我们使用Replace或Trim函数。我用了,问题依旧。我的代码:DataTabledt=TypeConveriontHelper.ConvretExcelToDataTable(SourceAppFilePath);stringtargetPath=BatchFolderPath+@"\"+"TRANSACT.INX";StreamWriterwrtr=null;wrtr=newStreamWriter(targetPath);for(intx=0;x我尝试在上面的代码中使用rowString.Replace('

c# - string.Replace(或其他字符串修改)不起作用

对于下面的代码,我无法让string.Replace工作:someTestString.Replace(someID.ToString(),sessionID);当我调试和检查参数时,它们具有我期望的值-即someID.ToString()得到“1087163075”,sessionID得到“108716308”和someTestString包含“1087163075”。我不知道为什么这不会改变someTestString完整示例:stringsomeTestString="108716305-1.jpg"someTestString.Replace("108716305","NewI