驼峰字符串转换成带有_
的拼接小些字符串
apiToken
api_token
fun String.toSnakeCase() = this.split(Regex("(?=[A-Z])")).joinToString("_") { it.toLowerCase() }
获取系统属性,不同系统不一样
println(System.getProperty("User-Agent"))
//获取所有的属性
val properties = System.getProperties()
//遍历所有的属性
for (key in properties.stringPropertyNames()) {
println(key + "=" + properties.getProperty(key))
}
如安卓 测试手机
Dalvik/2.1.0 (Linux; U; Android 13; Pixel 4a Build/TP1A.220624.014)
字符串的笛卡尔积
用来分配组合使用
/**
* 迪卡尔积,用于字符串
*
* @param arrays 参数列表
* @return 笛卡尔积
* arra1: ["a", "b"]
* arr2: ["c", "d"]
* result: ["ac", "ad", "bc", "bd"]
*/
fun cartesianProductString(array1: Array<String>, vararg arrays: Array<String>): List<String> {
return arrays.fold(array1.toList()) { acc, array ->
acc.flatMap { list ->
array.map { element -> list + element }
}
}
}
用例:
val arr1 = arrayOf("a","b")
var arr2 = arrayOf("c","d")
println(cartesianProductString(arr1,arr2))
网友评论