java - 使用不同参数解析的 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等。
解决方案
如果您假设输入字符串的格式不会改变,您可以执行以下操作:
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
}
但是,如果输入字符串可以更改其格式,您应该在此代码中添加一些额外的逻辑。
推荐阅读
- r - 箱线图在多个数据集中具有多个变量,在 r 中具有相同的组
- javascript - 更改 javascript 按钮中的文本
- sql - 如何使用视图创建存储过程?
- python - 只循环偶数
- node.js - Mongoose 查询没有正确执行,没有错误信息
- google-earth-engine - 如何在谷歌地球引擎中上传参数
- monaco-editor - 差异合并后如何获得摩纳哥差异编辑器的价值?
- python - Python numpy 屏蔽一系列值
- php - 如何优化在 foreach 循环中运行的查询
- angular - 将一个成熟的 Angular 6 应用程序部署到弹性 beantalk