删除部分字符串(正则表达式)

时间:2018-02-28 09:59:50

标签: groovy

我是编程的初学者。我有一个字符串例如"测试:1"和"测试:2"。我想删除":1"和":2" (包含 :)。我怎么能用正则表达式来做呢?

2 个答案:

答案 0 :(得分:2)

嗨,安德鲁很容易。把字符串想象成是一个字符数组(字母),因为它实际上是IS。如果你要删除的字符串部分总是在字符串的末尾,并且总是相同的长度,就像这样:

var exampleString = 'test:1';
exampleString.length -= 2;

多数民众赞成你刚刚删除了字符串的最后两个值(字母)(charArray)

如果你不能避免它总是在最后或删除你要使用szymon版本的字符数量

答案 1 :(得分:1)

使用Groovy至少有几种方法可以做到这一点。如果您想坚持使用正则表达式,可以将表达式^([^:]+)(表示字符串开头的所有字符,直到达到:)应用于StringGroovyMethods.find(regexp)方法,例如

def str = "test:1".find(/^([^:]+)/)
assert str == 'test'

或者,您可以使用旧的String.split(String delimiter)方法:

def str = "test:1".split(':')[0] 
assert str == 'test'