【问题标题】:Get all possible values from a string array that contains two strings c#从包含两个字符串 c# 的字符串数组中获取所有可能的值
【发布时间】:2015-12-30 22:11:57
【问题描述】:

大家好。

我是一个初学者 C# 程序员,我有一个数组,里面有很多来自这个目录的文件路径:

'C:\ProgramData\folder1\fodler2\folder3\'

数组是这样的:

string[] arrays = {'C:\ProgramData\folder1\fodler2\folder3\sw2-client1-propose1-measure1.dbf', 'C:\ProgramData\folder1\fodler2\folder3\sw-client1-propose2-measure1.dbf', 'C:\ProgramData\folder1\fodler2\folder3\sw1-client1-propose2-measure2.dbf', 'C:\ProgramData\folder1\fodler2\folder3\sw1-client1-propose2-measure1.dbf' }

通过这个例子你可以看到数组中的文件具有以下结构:

sw-client-propose-measure.dbf

地点:

sw - a string meaning the name of the software used to get the values to the database
client - the ID of clients
propose - the ID of proposes
measure - the ID of measure

现在我需要获取一个数组,其中包含字符串数组中具有特定提议 ID 和 sw 名称的所有路径。

你能帮我实现我的结果吗?

提前致谢。

【问题讨论】:

  • 你目前有什么代码?
  • 我会考虑几个选项。如果您想将所有内容保存在数组中,我会考虑对数组值使用正则表达式。另一个选项是表示数组之外的数据。
  • 我想不出最好的代码来获得我需要的东西 :(,我在网上搜索了所有内容,但找不到与此相关的任何内容...
  • 老实说,我不知道数组是否是最佳选择。我认为将数组转换为定义的类或列表可能会更好。然后,您可以使用 linq 搜索值。 JSON 是另一种可能性

标签: c# arrays string contains directory


【解决方案1】:

这会起作用的,

string[] filtered = arrays.ToList().Where(s=>s.Contains("proposeID")).ToArray();

【讨论】:

    【解决方案2】:

    这是我的问题的解决方案:

    string[] filtered = file.ToList().Where(s => s.Contains("propose ID")).ToArray();
    string[] superfiltered = filtered.ToList().Where(r => r.Contains("sw")).ToArray();
    

    特别感谢@Padmanaban Gokula

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多