4
让我们定义字符串为“按字母顺序成长”时:如果字符串'按字母顺序增长',如何检查Scala?
- 每一封信是按字母顺序更大然后前一个。
- 如果字母是大写或不是大写。
这些字符串是 '按字母顺序成长':
- “ABCDE”
- “aBfJz”
而且这些都不是:
- “ABBCD”
- “abdDz”
- “零余额账户”
让我们假设我们正在检查它仅包含字母的字符串。 检查是否字符串为“成长”,可以在Scala中实现与下面的代码:
val str = "aBgjz"
val growing = str.map(_.toLower).toSet.toList.sortWith(_ < _).mkString.equals(str.map(_.toLower))
此代码的工作不错,但仅适用于英文字母。对于带有波兰字母的字符串,结果是错误的。在波兰的字母是按照以下顺序:
A,A,B,C,C,d,E ...
所以:
val str = "aąbćdgz"
结果应该是 '真'。所以问题是:
如何检查斯卡拉如果给定字符串是'按字母顺序增长'的给定语言环境?
val str = "aąbćdgz"
val locale_id = "pl_PL"
....
val growing = ......
退房这篇文章,可能会有帮助:http://stackoverflow.com/questions/24860138/sort-列表的字符串,用定位功能于斯卡拉 – rfolt 2014-12-04 22:29:11