首页 > 解决方案 > 使用不同参数解析的 Java 字符串

问题描述

需要解析具有这样格式的字符串 -

"xxx.xxx.xxx.xxx ProxyHost=prod.loacl.com ProxyUser=test ProxyPas=tes@123 ProxyPort=1809".

需要以我得到"prod.loacl.com" "test" "tes@123" "1809"一些字符串的方式进行拆分或解析,如果任何参数未定义,ProxyPas那么它应该是null

我们需要忽略 IP 地址 xxx.xxx.xxx.xxx 它将始终连接。

我们是否已拆分或使用某些列表来完成此操作...这是提取此信息的最佳方法,为什么?

注意:除ProxyHost参数外,输入字符串可以更改,用户可以不输入ProxyPass等。

标签: java

解决方案


如果您假设输入字符串的格式不会改变,您可以执行以下操作:

string inputString = "xxx.xxx.xxx.xxx ProxyHost=prod.loacl.com ProxyUser=test ProxyPas=tes@123 ProxyPort=1809";
string[] eachPart = inputString.Split(" ");
for(int i = 1; i < eachPart.Length; i++) // Skip the IP address
{
   string[] partData = eachPart[i].Split("=");
   string dataName = partData[0];
   string dataValue = partData[1];
   // do something with dataName and dataValue
 }

但是,如果输入字符串可以更改其格式,您应该在此代码中添加一些额外的逻辑。


推荐阅读