查找字符串中的任何单词及其索引

本文关键字:索引 任何单 字符串 查找 | 更新日期: 2023-09-27 18:13:33

假设我有一个字符串:

-dog--cat--d--

我想从这个字符串中找到所有的单词,并且长度应该大于1。

但更重要的是,我想知道每个词的首和尾索引。

我怎么能那样做呢?

我正在考虑创建结构。它可以存储一些数据(索引开始和停止,单词,长度等)

但我真的不知道如何找到任何方法来获得那些单词。

到目前为止,我只创建了存储值0和1的数组(如果元素是'-'则0否则1)。有人能帮帮我吗?:)

查找字符串中的任何单词及其索引

您可以使用正则表达式@"'p{L}{2,}"查找两个或两个以上的连续字母:

foreach (Match match in Regex.Matches(s, @"'p{L}{2,}")) {
    // match.Index, match.Value, etc..
}

您可能最好使用正则表达式来过滤掉任何非字母并返回一个单词数组

      String sourcestring = "-dog--cat--d--";
      Regex re = new Regex(@"'w+");
      MatchCollection mc = re.Matches(sourcestring);
      int mIdx=0;
      foreach (Match m in mc)
       {
        for (int gIdx = 0; gIdx < m.Groups.Count; gIdx++)
          {
            Console.WriteLine("[{0}][{1}] = {2}", mIdx, re.GetGroupNames()[gIdx], m.Groups[gIdx].Value);
          }
        mIdx++;
      }