From 4b187f37741772d787f4798c8245cd6f1c86291d Mon Sep 17 00:00:00 2001 From: minglipro Date: Thu, 18 Sep 2025 09:28:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20String.join=20=E7=9A=84?= =?UTF-8?q?=E6=96=87=E6=A1=A3=20=E6=B7=BB=E5=8A=A0=20List.join=20=E7=9A=84?= =?UTF-8?q?=E6=96=87=E6=A1=A3=20=E6=B7=BB=E5=8A=A0=20split=20=E7=9A=84?= =?UTF-8?q?=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mingliqiye/utils/string/StringUtils.kt | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/com/mingliqiye/utils/string/StringUtils.kt b/src/main/kotlin/com/mingliqiye/utils/string/StringUtils.kt index b42bde0..18c387b 100644 --- a/src/main/kotlin/com/mingliqiye/utils/string/StringUtils.kt +++ b/src/main/kotlin/com/mingliqiye/utils/string/StringUtils.kt @@ -16,7 +16,7 @@ * ProjectName mingli-utils * ModuleName mingli-utils.main * CurrentFile StringUtils.kt - * LastUpdate 2025-09-17 21:09:10 + * LastUpdate 2025-09-18 09:26:41 * UpdateUser MingLiPro */ @file:JvmName("StringUtils") @@ -166,15 +166,28 @@ fun String.stringBuilder(): java.lang.StringBuilder { return StringBuilder(this) } - +/** + * 将字符串按照指定分隔符进行分割 + * @param str 需要分割的字符串 + * @param separator 分割符 + * @return 分割后的字符串列表 + */ fun split(str: String, separator: String): List { return str.split(separator) } +/** + * 将列表中的元素使用指定分隔符连接成字符串 + * @param separator 连接分隔符 + * @param getstring 转换函数,将列表元素转换为字符串,默认使用toString()方法 + * @return 连接后的字符串 + */ fun List.join(separator: String, getstring: (T) -> String = { it.toString() }): String { + // 使用StringBuilder构建结果字符串 val sb = StringBuilder() for (i in this.indices) { sb.append(this[i]) + // 除了最后一个元素外,都在后面添加分隔符 if (i != this.size - 1) { sb.append(separator) } @@ -182,13 +195,22 @@ fun List.join(separator: String, getstring: (T) -> String = { it.toString return sb.toString() } +/** + * 使用当前字符串作为分隔符,将列表中的元素连接成字符串 + * @param list 需要连接的元素列表 + * @param getstring 转换函数,将列表元素转换为字符串,默认使用toString()方法 + * @return 连接后的字符串 + */ fun String.join(list: List, getstring: (T) -> String = { it.toString() }): String { + // 使用StringBuilder构建结果字符串 val sb = StringBuilder() for (i in list.indices) { sb.append(getstring(list[i])) + // 除了最后一个元素外,都在后面添加当前字符串作为分隔符 if (i != list.size - 1) { sb.append(this) } } return sb.toString() } +