0
A
回答
0
下面就来处理这种情况有两种1,2,3 +字情况的方式:
def doIt(string) {
def elements = string.split(', ')
switch(elements.size()) {
case 0:
''
break
case 1:
elements[0]
break
case 2:
elements.join(" and ")
break
default:
new StringBuilder().with {
append elements.take(Math.max(elements.size() - 1, 1)).join(', ')
append ", and "
append elements.last()
}.toString()
break
}
}
assert doIt("one, two, three, four") == "one, two, three, and four"
assert doIt("one, two, three") == "one, two, and three"
assert doIt("one, two") == "one and two"
assert doIt("one") == "one"
1
试试这个:
def fun(s) {
def words = s.split(', ')
words.size() == 1 ? words.head() : words.init().join(', ') + ', and ' + words.last()
}
assert fun("one, two, three") == "one, two, and three"
assert fun("one") == "one"
相关问题
- 1. 添加三个字符串分隔逗号和“和”增值
- 2. 加入逗号分隔字符串
- 3. 逗号分隔符号字符串
- 4. 逗号分隔和字符串截断
- 5. 逗号分隔字符串的总和
- 6. 搜索逗号IDS分隔字符串以逗号分隔字符串
- 7. 添加引号一个逗号分隔字符串
- 8. 转换被逗号分隔值,以逗号分隔字符串
- 9. 包含逗号与逗号分隔符的分割字符串
- 10. 逗号分隔字符串分割
- 11. 拆分逗号分隔字符串5
- 12. TSQL拆分逗号分隔字符串
- 13. 拆分逗号分隔字符串/值
- 14. 拆分逗号分隔的字符串
- 15. 分离逗号分隔的字符串
- 16. 拆分逗号分隔字符串
- 17. 如何获取逗号分隔字符串的子字符串?
- 18. 如何添加和删除逗号分隔值(字符串)使用Jquery
- 19. SQL:如何分隔由逗号分隔的字符串值?
- 20. 如何解析和求和以逗号分隔的字符串
- 21. 添加逗号字符串
- 22. C#逗号分隔的字符串添加额外的结尾逗号
- 23. 如何添加由逗号分隔的字符串中的数字
- 24. 逗号分隔字符串表
- 25. 比较逗号分隔字符串
- 26. 逗号分隔字符串比较
- 27. 逗号分隔字符串列表
- 28. 转换逗号分隔字符串JSON
- 29. 逗号分隔字符串javascript
- 30. 逗号分隔字符串使用handlebars.js
或'def arr = s.tokenize(/,/); arr.size()> 1? (',')'('and'+ arr.last()))。join(/,/):s' :) – dmahapatro
or'input.reverse()。replaceFirst(',',',and' .reverse()';-) –
或的确如此:'input.replaceAll(/(,)(?!.*,)/,'和')'(如果你喜欢你的正则表达式不可读) ;-) –