相关疑难解决方法(0)

String.Replace .NET Framework的内存效率和性能

 string str1 = "12345ABC...\\...ABC100000"; 
 // Hypothetically huge string of 100000 + Unicode Chars
 str1 = str1.Replace("1", string.Empty);
 str1 = str1.Replace("22", string.Empty);
 str1 = str1.Replace("656", string.Empty);
 str1 = str1.Replace("77ABC", string.Empty);

 // ...  this replace anti-pattern might happen with upto 50 consecutive lines of code.

 str1 = str1.Replace("ABCDEFGHIJD", string.Empty);
Run Code Online (Sandbox Code Playgroud)

我继承了一些与上面的代码片段相同的代码.它需要一个巨大的字符串,并从大字符串中替换(删除)常量较小的字符串.

我相信这是一个非常耗费内存的过程,因为每个替换都会在内存中分配新的大型不可变字符串,等待通过GC死亡.

1.更换这些值的最快方法是什么,忽略内存问题?

2.实现相同结果的最有效的内存方式是什么?

我希望这些是相同的答案!

在这些目标之间适合某些地方的实用解决方案也值得赞赏.

假设:

  • 所有替换都是不变的并且事先已知
  • 底层字符确实包含一些unicode [non-ascii]字符

.net c# string

37
推荐指数
4
解决办法
4万
查看次数

将char放入每个N个字符的java字符串中

我有一个java字符串,它有一个可变长度.

我需要将这个片段"<br>"放入字符串中,比方说每10个字符.

例如,这是我的字符串:

`this is my string which I need to modify...I love stackoverlow:)`
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得这个字符串?:

`this is my<br> string wh<br>ich I nee<br>d to modif<br>y...I love<br> stackover<br>flow:)`
Run Code Online (Sandbox Code Playgroud)

谢谢

java string char

26
推荐指数
4
解决办法
4万
查看次数

将大文本分成较小块的最快方法

我使用下面的代码来分割字符串,但这需要很多时间.

using (StreamReader srSegmentData = new StreamReader(fileNamePath))
{
    string strSegmentData = "";
    string line = srSegmentData.ReadToEnd();
    int startPos = 0;

    ArrayList alSegments = new ArrayList();
    while (startPos < line.Length && (line.Length - startPos) >= segmentSize)
    {
        strSegmentData = strSegmentData + line.Substring(startPos, segmentSize) + Environment.NewLine;
        alSegments.Add(line.Substring(startPos, segmentSize) + Environment.NewLine);
        startPos = startPos + segmentSize;
    }
}
Run Code Online (Sandbox Code Playgroud)

请建议我另一种方法将字符串拆分为固定大小的较小块

.net c# substring

7
推荐指数
1
解决办法
1207
查看次数

在单行逗号分隔文件中对值求和

编辑:谢谢你们所有人.Python解决方案闪电般快速:)

我有一个看起来像这样的文件:

132,658,165,3216,8,798,651
Run Code Online (Sandbox Code Playgroud)

但它的MUCH较大(〜600 KB).没有换行符,除了文件末尾的换行符.

而现在,我必须总结那里的所有价值观.我希望最终的结果非常大,但如果我用C++总结它,我就拥有一个bignum库,所以它应该不是问题.

我该怎么做,用什么语言/程序?C++,Python,Bash?

language-agnostic file-io sum

3
推荐指数
1
解决办法
1033
查看次数

标签 统计

.net ×2

c# ×2

string ×2

char ×1

file-io ×1

java ×1

language-agnostic ×1

substring ×1

sum ×1