【问题标题】:Contains: Get a specific word in a specific starting/ending point包含:在特定的起点/终点获取特定的单词
【发布时间】:2017-07-14 18:30:50
【问题描述】:

这个问题类似于this one,但是,我想这样做而不必创建任何额外的分隔函数,可以吗?

我有什么:

  • 加载_XXXX.5gpl_TempCycle
  • RO_Mass_负载_XXXX.AAAA-31974-B
  • RO_Mass_Load_XXXX.AAAA-31980
  • RO_Mass_Load_Test_4a-B_TempCycle_20170427-41309
  • Lo​​ad_Test_4a_TempCycle

我想拿出来:

  • 仅限以“Load_”开头的那些。
  • 或以“-B”结尾

问题: 如果我使用 Contains(string),它将把它们全部取出。

我需要什么: 包含以“Load_”开头或以“-B”结尾的字符串。

预期结果:

  • RO_Mass_Load_XXXX.AAAA-31980
  • RO_Mass_Load_Test_4a-B_UUU_20170427-41309

代码不工作(它把所有东西都弄出来了):

if (item.Full_File_Name.Contains("-B") || item.Full_File_Name.Contains("Load"))

有什么想法或帮助吗?

【问题讨论】:

    标签: c# winforms contains


    【解决方案1】:

    您为此准备了函数:StartsWithEndsWith

    if (item.Full_File_Name.EndsWith("-B") || item.Full_File_Name.StartsWith("Load"))
    

    如果我们想要一个另一个,我们应该使用:

    if (!item.Full_File_Name.EndsWith("-B") && !item.Full_File_Name.StartsWith("Load_"))
    

    【讨论】:

    • 哇,这对我来说还很幼稚。谢谢!
    • @Fabio Soares 会达到您的目的吗?我认为它也会返回那些以 Load 开头的那些,这与您的预期结果不同。
    • @Ramankingdom,就我而言,它会起作用...我试图消除 Load_... 或 ...-B;如果 B 或 Load 在中间,我不在乎。在我的测试中,它可以工作。
    • @Ramankingdom,你是对的!正确的应该是: if (!item.Full_File_Name.EndsWith("-B") && !item.Full_File_Name.StartsWith("Load_"))
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多