Tag: 字符串

如何超越这个正则表达式替换?

经过大量测量后,我发现了一个我想要优化的Windows服务中的热点。 我们正在处理可能有多个连续空格的字符串,我们希望减少到只有一个空格。 我们使用静态编译的正则表达式来完成这项任务: private static readonly Regex regex_select_all_multiple_whitespace_chars = new Regex(@”\s+”,RegexOptions.Compiled); 然后按如下方式使用它: var cleanString= regex_select_all_multiple_whitespace_chars.Replace(dirtyString.Trim(), ” “); 这条线被调用了数百万次,并且certificate是相当密集的。 我试着写一些更好的东西,但我很难过。 鉴于正则表达式的处理要求相当适中,肯定会有更快的速度。 使用指针进行unsafe处理可以进一步加快速度吗? 编辑: 感谢对这个问题的惊人反应……最让人意想不到的!

String有多少个参数

在使用String.Format格式化C#中的字符串之前,我想知道该字符串接受了多少个参数? 例如。 如果字符串是“{0}与{1}不同”,我想知道这个字符串接受两个参数,例如。 如果字符串是“{0}与{1}和{2}不同”,则该字符串接受3个参数 我怎样才能有效地找到它?

C#字符串拆分 – 在第二个逗号处打破字符串

我有一个像这样的字符串: mystring = “test1, 1, anotherstring, 5, yetanother, 400”; myarray可以有不同的长度。 我想做的是将字符串拆分为: {“test1, 1”} {“anotherstring, 5} {“yetanother, 400”} 这可能吗? 我尝试了string[] newArray = mystring.Split(‘,’)但是在每个逗号分隔它,而不是我想要做的第二个逗号。 谢谢你的帮助 跳越

在C#中从字符串转换为Image

我试图将Unicode字符串转换为C#中的图像。 每次我运行它都会在这一行上出错 Image image = Image.FromStream(ms, true, true); 说:ArgumentException未被用户代码处理。 参数无效。 任何想法为什么会这样? 以下是该function的其余部分。 public Image stringToImage(string inputString) { byte[] imageBytes = Encoding.Unicode.GetBytes(inputString); MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length); ms.Write(imageBytes, 0, imageBytes.Length); Image image = Image.FromStream(ms, true, true); return image; }

C#的string.IndexOf如何执行得如此之快,比普通的循环查找速度快10倍?

我有一个非常长的字符串(大小为60MB ),我需要在其中找到有多对“”。 我首先尝试了自己的方式: char pre = ‘!’; int match1 = 0; for (int j = 0; j < html.Length; j++) { char c = html[j]; if (pre == '’) //find a match { pre = ‘!’; match1++; } else if (pre == ‘!’ && c == ‘<') pre = '<'; } 上面的代码在我的字符串上运行大约1000毫秒 。 然后我尝试使用string.IndexOf int […]

字符串将单引号替换为C#中的双引号

如何在C#中的字符串中用双引号(“)替换单引号(’)?

字符串比较和单个字符的字母顺序

我有一个与字符串比较和字符比较有关的问题。 字符>和0 (零)相应地具有以下十进制值62和48 。 当我比较以下代码中的两个字符时,我得到值True (这是正确的) Console.WriteLine(‘>’ > ‘0’); 当我在下面的代码中比较两个单字符字符串时,我得到值-1 ,表示“>”小于“0” (默认文化是英语) Console.WriteLine(string.Compare(“>”, “0”)); 而以下代码中“3”和“1”( 51和49代码值)的比较返回1 (如预期的那样) Console.WriteLine(string.Compare(“3”, “1”)); 另外, string.Compare(string str1, string str2)文档说: 比较使用当前文化来获取特定于文化的信息,例如套管规则和单个字符的字母顺序 您是否能够解释(或提供一些文档的参考)如何实现字符串比较,例如如何计算单个字符的字母顺序等?

处理StringBuilder对象

如何有效地处理StringBuilder对象? 如果用户一次性生成多个报告,我的应用程序最终会占用大量内存。 我在线阅读了几个网站,以下内容可能有所帮助: StringBuilder sb = new StringBuilder(1000000); // loop goes here adding lots of stuff to sb exampleObject.Text = sb.ToString(); sb.Length = 0; 最后一行真的有帮助吗? 还有其他任何处理方法吗? 注意:这并没有真正阻止我的用户继续使用该应用程序。 我只是想知道是否有办法避免冗余内存使用。

从c#中的字符串中提取基本URl?

我目前正在开发一个使用.NET 1.1框架的项目,我现在陷入困境。 我有一个像“ http://www.example.com/mypage/default.aspx ”这样的字符串,或者它可能是“ http://www.example.edu/mypage/default.aspx ”或“ http:// www .example.eu / mypage / default.aspx “。 如何从这种字符串中提取基本URl。 谢谢

为什么新的String(“Hello”)在C#中无效?

制作背后的逻辑/原因是什么? String s= new String(“Hello World”); C#中是非法的? 错误是 `string.String(char *)’的最佳重载方法匹配有一些无效的参数 我对API文档不感兴趣,我感兴趣的是为什么这是非法的。 是因为汇集静态字符串? 像Java池整数(-128)到整数(127)与可怕的结果? (当然还有字符串)