代码之家  ›  专栏  ›  技术社区  ›  Joe

要在文本中特定字符之前或/和之后提取的子字符串

  •  0
  • Joe  · 技术社区  · 7 年前

    我目前正在编写一个groovy脚本,它可以根据给定的条件提取字符,但是我很难在特定的字符数之后提取特定的字符串。例如:

    If (text = 'ABCDEF')
    {
    Return (start from C and print only CDE)
    }
    

    我已经使用了子字符串,但没有给出正确的输出:

    If (text = 'ABCDEF')
    {
        Return(text.substring(2));
    }
    
    3 回复  |  直到 7 年前
        1
  •  1
  •   Loïc    7 年前

    尝试以下操作:

    if (text == 'ABCDEF') 
    {
       return text.substring(2, 5)
    }
    

    = 用于为变量赋值。

    == 用于检查两个变量之间的相等性。

        2
  •  0
  •   tim_yates    7 年前

    你的资本化完全不正常

    if (text == 'ABCDEF') {
        text.substring(2)
    }
    

    使用可能也有问题 return ,但这取决于您在问题中未显示的上下文

        3
  •  0
  •   King Henry    7 年前

    子字符串函数未完成。如果需要获取特定索引(在本例中为索引2到5),则需要添加要结束的索引。如果不这样做,字符串将从索引2开始打印字符串,然后打印字符串中的其余字符。您需要键入以下内容:

    if(text == 'ABCDEF') {
       return text.substring(2, 5);
    }
    

    此外,请记住,结束索引(索引5)是独占的,因此不会打印索引5处的字符。