【问题标题】:Substring a string in C#C#中的字符串子串
【发布时间】:2017-12-21 07:31:32
【问题描述】:

我想将字符串分解为 searchText。代码如下所示: "asarrivalFDate=06/12/2017arrivalTDate=20/12/2017"作为

agentName= "as"
arrivalFDate= "06/12/2017" 
arrivalTDate="20/12/2017".

如何在 C# 中实现。这里的“as”可以是用户输入的任何输入。

我想打破并将个人传递给 Linq。

【问题讨论】:

  • 你试过什么?我们不是在做你的工作,你必须提供一些自己的想法。特别是 google for substring,您会立即发现数千个类似的问题。然而,很难根据一个例子来为你的模式找到一个通用的规则。输入的哪些部分是固定的,哪些是可变的以及以何种方式?
  • 好的,我试一次。
  • 您要求的是一个特殊情况,这种情况可以推广吗?意思是你还有其他类似但有点不同的案例吗?或者这是输入的唯一情况?它总是与您发布的格式相同吗?
  • 您的更新仍然没有显示用户输入的任何数据。数据的格式是什么? "arrivalFDate" 之前总是有两个字符吗?你的日期总是 DD/MM//YYYY 格式吗?老实说:你给我们一个单一的输入,我们应该如何解析它?
  • 您发布的代码无关紧要。我们不在乎你是如何得到字符串的,我们想看看你为了解析​​它做了什么……

标签: c# asp.net


【解决方案1】:

此代码可以帮助您:

string input = "asarrivalFDate=06/12/2017arrivalTDate=20/12/2017";
string wordToRemove1 = "arrivalFDate";
string wordToRemove2 = "arrivalTDate";

input = input.Remove(input.IndexOf(wordToRemove1), wordToRemove1.Length);
input = input.Remove(input.IndexOf(wordToRemove2), wordToRemove2.Length);

string[] inputSplitted = input.Split('=');

string agentName = inputSplitted[0];
string arrivalFDate = inputSplitted[1];
string arrivalTDate = inputSplitted[2];

我正在从您的字符串中删除arrivalFDatearrivalTDate,然后将字符串的剩余部分与input.Split('=') 分开。现在,您将获得一个字符串数组 string[] inputSplitted,其中包含来自输​​入字符串的所需值 (agentName,arrivalFDate,arrivalTDate)。

【讨论】:

    【解决方案2】:

    不使用RegEx,只使用Split

    注意:假设格式始终相同

    代码

    var input = "asarrivalFDate=06/12/2017arrivalTDate=20/12/2017";
    var result = input.Split(
        new[]
            {
                "arrivalFDate=",
                "arrivalTDate="
            },
        StringSplitOptions.None);
    
    string agentName = result[0];
    string arrivalFDate = result[1];
    string arrivalTDate = result[2];
    
    Console.WriteLine(agentName);
    Console.WriteLine(arrivalFDate);
    Console.WriteLine(arrivalTDate);
    

    输出

    as
    12/6/2017
    12/20/2017
    

    【讨论】:

      猜你喜欢
      • 2015-06-28
      • 1970-01-01
      • 1970-01-01
      • 2011-12-27
      • 1970-01-01
      • 1970-01-01
      • 2011-05-25
      相关资源
      最近更新 更多