【问题标题】:getting last word in a tokenized string in groovy在groovy中获取标记化字符串中的最后一个单词
【发布时间】:2012-03-12 00:38:17
【问题描述】:

一个基本的字符串处理问题..我有一个像 val1.val2.val3 .....valN 这样的标记化字符串 如何从上面的字符串中获取最后一个单词 valN。

【问题讨论】:

    标签: string groovy


    【解决方案1】:

    如果您将负索引 n 传递给 List 中的 subscript operator,您将获得第 n 个最后一个元素。因此,-1 元素是最后一个:

    def words = 'val1.val2.val3'
    def last = words.tokenize('.')[-1]
    assert last == 'val3'
    

    更新:您还拥有可以说更具可读性的last 方法:

    def last = words.tokenize('.').last()
    

    【讨论】:

    • 你怎么能用.last()来代替这个:words.tokenize('.')[-2]
    • @A.Man,last() 只返回最后一个元素,我认为没有办法获得倒数第二个元素。我猜你可以做 array.dropRight(1).last() ,但是在我看来访问 array[-2] 更具可读性。
    猜你喜欢
    • 1970-01-01
    • 2013-09-07
    • 2015-12-25
    • 2020-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-08
    相关资源
    最近更新 更多