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

Groovy 要在文本中特定字符之前或/和之后提取的子字符串,groovy,substring,indexof,Groovy,Substring,Indexof,我目前正在编写一个groovy脚本,它可以根据给定的条件提取字符,但是在提取特定字符数之后,我很难提取特定的字符串。例如: If (text = 'ABCDEF') { Return (start from C and print only CDE) } 我已经使用了子字符串,但没有提供正确的输出: If (text = 'ABCDEF') { Return(text.substring(2)); } 你的资本化完全不正常 if (text == 'ABCDEF') { te

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

If (text = 'ABCDEF')
{
Return (start from C and print only CDE)
}
我已经使用了子字符串,但没有提供正确的输出:

If (text = 'ABCDEF')
{
    Return(text.substring(2));
}

你的资本化完全不正常

if (text == 'ABCDEF') {
    text.substring(2)
}
使用
return
可能也有问题,但这取决于问题中未显示的上下文

请尝试以下方法:

if (text == 'ABCDEF') 
{
   return text.substring(2, 5)
}
=
用于为变量赋值


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

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

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

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

谢谢,我不知道子字符串(2,5)是如何打印正确的输出的。谢谢,但这将打印CDEF,但是我只想知道如何打印CDE。现在已经解决了。