小编dro*_*ing的帖子

在文本文件中搜索关键字,直到遇到字符串

我正在编写一个程序来帮助我在数千个文件中搜索关键字.这些文件中的每一个都有不必要的行,我需要忽略它们,因为它们会混淆结果.幸运的是,它们都位于这些文件中的特定行之后.
我已经得到的是搜索,不忽略该特定行之后的行,返回包含关键字的文件名的Enumerable.

var searchResults = files.Where(file => File.ReadLines(file.FullName)
                                            .Any(line => line.Contains(keyWord)))
                                            .Select(file => file.FullName);
Run Code Online (Sandbox Code Playgroud)

是否有一种简单快速的方法来实现此功能?它不一定必须在Linq,因为我甚至不确定这是否可能.

编辑:
一个让它更清晰的例子.这就是文本文件的结构:
xxx
xxx
string
yyy
yyy

我想搜索xxx行,直到找到关键字或字符串,然后跳到下一个文件.我想在搜索中忽略yyy行.

c# linq performance

5
推荐指数
1
解决办法
1118
查看次数

在文本文件中搜索,直到特定字符串

我正在编写一个程序来搜索文本文件,每个文件都有一个特定的字符串.目标是忽略该字符串后的所有内容.我当前的代码读取整个文本文件并返回一个Enumerable结果文件名,其中找到了一个术语.

var searchResults = files.Where(file => File.ReadAllText(file.FullName).Contains(searchTerm)).Select(file => file.FullName);
Run Code Online (Sandbox Code Playgroud)

是否有可能在该特定字符串之后合并忽略所有行?性能非常重要,因为有数千个文件.

c# linq performance

4
推荐指数
1
解决办法
218
查看次数

如何使用LINQ将<string,list <string >>减少为<string,string>?

我正在调用一个返回类型为的方法Dictionary<string, List<string>>.

我调用它的方式我希望List<string>总是只有1个字符串元素.为了简化这一点,我想使用Linq将返回类型转换为Dictionary<string, string>.

我尽可能使用,.ToDictionary(x => x.Key, x=> x.Value);但我很难知道如何获得正确的值.LINQ可以实现这样的转换吗?

c# linq dictionary

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

如何在PowerShell中替换管道?

我想要替换字符串中的字符然后拆分它.示例如下:

$in = "string with spaces"
$out = $in -replace 's' | $_.Split(' ')
Run Code Online (Sandbox Code Playgroud)

导致ExpressionsMustBeFirstInPipeline.

为什么这不起作用?

powershell

2
推荐指数
1
解决办法
179
查看次数

如何根据另一个变量在不同的if条件之间进行选择

我已经考虑过这个问题已经有一段时间了,但我无法想到一个解决方案而不必编写重复的代码.部分c#和部分伪代码中的问题:

bool test = true;  
if (test == true)
{
    if(first condition) {code}
}
else
{
    if(different condition) {same code as above)
}
Run Code Online (Sandbox Code Playgroud)

我必须在我的程序的性能密集部分使用这部分,我必须传输3个大参数,这就是为什么我宁愿不使用方法.

还有另一种解决方法吗?

c# design-patterns

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

标签 统计

c# ×4

linq ×3

performance ×2

design-patterns ×1

dictionary ×1

powershell ×1