gpt4 book ai didi

java - 用java分割字符串

转载 作者:行者123 更新时间:2023-12-01 06:52:35 26 4
gpt4 key购买 nike

我有两种类型的字符串

command1|Destination-IP|DestinationPort
Command2|Destination-IP|DestinationPort|SourceIP|SourcePort|message

我尝试拆分字符串来获取变量我开始这样编码,但不确定这是最好的方法

public String dstIp="";
public String dstPort="";
public String srcIp="";
public String scrPort="";
public String message="";
public String command="";

int first = sentence.indexOf ("|");


if (first > 0)
{

int second = sentence.indexOf("|", first + 1);
int third = sentence.indexOf("|", second + 1);

command = sentence.substring(0,first);
dstIp= sentence.substring(first+1,second);
dstPort= sentence.substring(second+1,third);

我要继续这样吗?或者也许使用正则表达式?如果字符串是

command1|Destination-IP|DestinationPort

我收到错误,因为没有第三个 |

最佳答案

看一下 String.split 方法:

String line = "first|second|third";
String[] splitted = line.split("\\|");
for (String part: splitted) {
System.out.println(part);
}

旁注:由于 "|" 字符在正则表达式 syntax 中具有特殊含义(基本上 "|" 表示 OR),应该用反斜杠转义它。

实际上,查看未转义版本 "first|second|third".split("|") 的结果非常有趣。

正则表达式“|”翻译成英文为“空字符串或空字符串”并匹配任何位置的字符串。 "first|second|third".split("|") 返回长度为 19 的数组: {"", "f", "i", "r", ... ,“d”}

关于java - 用java分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21364441/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com