This commit is contained in:
2025-11-01 14:37:08 +08:00
parent 29ea428462
commit 2ba5b9de4e

View File

@@ -826,8 +826,24 @@ private String handleTF(String input) {
// 解析第一行:🕒 林[1518] -> 提取姓名
String nameLine = lines[0].trim();
// 先移除"拼多多"文本(如果存在)
nameLine = nameLine.replace("拼多多", "").trim();
// 移除emoji和特殊字符提取中文姓名
String name = extractChinese(nameLine);
// 如果提取失败尝试直接从第一行提取去除emoji、符号和括号内容后剩余的中文
if (name.isEmpty()) {
// 移除所有emoji和特殊符号只保留中文
String cleaned = nameLine.replaceAll("[🕒\\[\\]]", "").replaceAll("\\[.*?\\]", "").trim();
// 再次移除"拼多多"(防止遗漏)
cleaned = cleaned.replace("拼多多", "").trim();
// 只保留中文字符
name = extractChinese(cleaned);
} else {
// 确保提取的姓名不包含"拼多多"
if (name.contains("拼多多")) {
name = name.replace("拼多多", "").trim();
}
}
// 提取编号(如果有)
String suffix = extractBetweenBrackets(nameLine);
@@ -847,8 +863,12 @@ private String handleTF(String input) {
// 构建完整地址:姓名 + 固定号码(13068923963) + 地址 + 原始电话 + 转 + 编号
// 格式:林 13068923963 广西壮族自治区 柳州市 柳北区 绿城·杨柳郡柳园7栋 17284023487转1518
StringBuilder fullAddress = new StringBuilder();
// 确保姓名不为空,如果仍为空则使用默认值(但这种情况应该不会发生)
if (!name.isEmpty()) {
fullAddress.append(name);
} else {
// 如果姓名提取失败,记录日志(生产环境可以移除)
System.err.println("警告:拼多多格式姓名提取失败,第一行内容:" + nameLine);
}
// 固定的号码
fullAddress.append(" 13068923963 ");