正则表达式 - 删除之前和之后的所有字符

时间:2013-05-01 14:22:12

标签: regex

是否可以删除(包括)每个字符到第三个'之前的所有字符以及第四个'之后的所有字符,基本上隔离第3个和第4个内的文本'

示例:

a, 'something', 'ineedthistext', 'moretexthere'

应该导致

ineedthistext

3 个答案:

答案 0 :(得分:1)

正则表达式可能不是最好的工具(用逗号/撇号分割可能实际上是一种更好的方式),但是如果你想要正则表达式...

可能不是删除ineedthistext之前和之后的所有字符,而是从群组中捕获ineedthistext

我会使用类似的东西:

^.*?'.*?'.*?'(.*?)'

使用rubular进行测试。

答案 1 :(得分:0)

尝试

public String stringSplit(String input) {
    String[] wordArray = input.split("'");
    String requiredText = wordArray[3];
    return requiredText;
}

如果你总是想要在第3和第4'之间的位,这将有效。

答案 2 :(得分:0)

派生自this answer,可能的解决方案是:

Regex.Match(yourString, @"\('[^']*)\)").Groups[2].Value

代码查找嵌入在两个单引号之间的所有字符串,并将它们分组。你需要第二组。

要直接更改字符串,有效删除不需要的字符,您可以使用:

yourString = Regex.Match(yourString, @"\('[^']*)\)").Groups[2].Value