You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Databricks PySpark中解析指定格式的连接字符串?

解析键值对格式连接字符串的简便方法

待解析的连接字符串:

HOST=HostName;Port=1234;ServiceName=Database;USer ID=User1;Password=Password123;

通用实现思路

这类以;分隔键值对、以=分隔键和值的字符串,核心处理逻辑是分层拆分:

  1. 去除字符串末尾冗余的分号
  2. 按;分割为单个键值对项
  3. 对每个项按**第一个=**拆分(避免值中包含=的情况),提取键和值
  4. 将键值对存入映射结构(比如字典),再从中取值赋值给独立变量

Python 示例代码

conn_str = "HOST=HostName;Port=1234;ServiceName=Database;USer ID=User1;Password=Password123;"

# 构建键值对字典
conn_dict = {}
for item in conn_str.rstrip(';').split(';'):
    # 按第一个等号拆分,兼容键含空格的情况
    key, value = item.split('=', 1)
    conn_dict[key.strip()] = value.strip()

# 赋值给独立变量
host = conn_dict['HOST']
port = conn_dict['Port']
database = conn_dict['ServiceName']
user = conn_dict['USer ID']
password = conn_dict['Password']

# 验证结果
print(f"主机:{host}")
print(f"端口:{port}")
print(f"数据库:{database}")
print(f"用户:{user}")
print(f"密码:{password}")

Shell 脚本示例代码

conn_str="HOST=HostName;Port=1234;ServiceName=Database;USer ID=User1;Password=Password123;"

# 拆分并赋值变量
while IFS='=' read -r key value; do
    case "$key" in
        HOST) host="$value" ;;
        Port) port="$value" ;;
        ServiceName) database="$value" ;;
        "USer ID") user="$value" ;;
        Password) password="$value" ;;
    esac
done <<< "$(echo "$conn_str" | tr ';' '\n' | sed '/^$/d')"

# 输出结果
echo "主机:$host"
echo "端口:$port"
echo "数据库:$database"
echo "用户:$user"
echo "密码:$password"

内容的提问来源于stack exchange,提问作者AMN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 20:40:59