如何找到给定字符串中数字的索引

时间:2018-07-16 07:51:21

标签: c# string indexing

我需要找到给定字符串中字符串的位置。 字符串每次都会更改,因为它来自服务。 格式如下:

  

阿里||住宿|| 3 || 5 ||伊兹密尔

     

Furkan || Altun || 1 || 2 ||伊斯坦布尔

如何获取13的位置? 在4(|符号)之后

4 个答案:

答案 0 :(得分:0)

这是一个示例:

  // Find the index of 1.
  Console.WriteLine(s1.IndexOf("1"));
  // Find the index of 2.
  Console.WriteLine(s2.IndexOf("2"));

答案 1 :(得分:0)

string input="Furkan||Altun||1||2||istanbul";
int index=input.IndexOf("1");

索引现在包含字符1的位置。

答案 2 :(得分:0)

Array.IndexOf(givenString.Split('|'), "1");

答案 3 :(得分:0)

我怀疑您是否要处理string:似乎您实际上处理了序列为 csv (带有|对象分隔符)

  public class MyClass {
    public MyClass(string firstName, string secondName, 
                   int firstValue, int secondValue, 
                   string from) {
      //TODO: Validate arguments here: do you accept null? negative values? etc.
      FirstName = firstName; 
      SecondName = secondName;
      FirstValue = firstValue;
      SecondValue = secondValue;
      From = from; 
    }

    public static MyClass Parse(string csvLine) {
      if (null == csvLine)
        throw new ArgumentNullException("csvLine"); 

      string[] items = csvLine.Split('|');

      try {
        return new MyClass(items[0], items[2],
                           int.Parse(items[4]),int.Parse(items[6]),
                           items[8]);
      }
      catch (Exception e) {
        throw new FormatError("Incorrect CSV format", e); 
      }
    }

    public string ToCsv() {
      return string.Join("|", 
        FirstName, "", SecondName, "", FirstValue, "", SecondValue, "", From);
    };

    //TODO: Put a better names for the properties
    public string FirstName {get; set;}
    public string SecondName {get; set;}
    public int FirstValue {get; set;}
    public int SecondValue {get; set;}
    public string From {get; set;}  
  }

实现该类后,您可以像操作它一样简单

  // Given a string
  string source = "Ali||Atay||3||5||izmir";

  // We parse it into specially designed object
  MyClass item = MyClass.Parse(source);

  // Work with Names, Values as we please
  if (item.FirstValue == 3)
    item.FirstValue = 55;

  // If we want a csv representation we can easily obtain it
  string result = item.ToCsv();