gpt4 book ai didi

包含管道和换行符的Java Split字符串

转载 作者:行者123 更新时间:2023-11-29 05:17:24 26 4
gpt4 key购买 nike

我正在尝试拆分下面的字符串并放入 map 中 - 下面的数据可能是单行或多行。我想避免在 map 中以键名开头的“\n”

    user.Split-A=1|
user.Split-B=1|
user.Data-C=532|

但是 map 是用\nuser.Split-A=1、\nuser.Split-B=1、\nuser.Data-C=532和\n创建的

这是代码-

        Map valueMap = new HashMap<String, String>();
//Splitting string containing pipe
for (String string : spHeader.split("\\|")) {
String[] mapPair = string.split("=");
valueMap.put(mapPair[0], mapPair[1]);
}

请检查是否可以这样做。

最佳答案

一个简单的解决方法是调用 String#trim() :

valueMap.put(mapPair[0].trim(), mapPair[1].trim());

当然可以使用更好的正则表达式来处理,它甚至不会在匹配的字符串中捕获 EOL

您可以使用此正则表达式来匹配由 = 分隔的键和值,而无需捕获 |\n=:

([^=|\s]+)=([^=|\s]+)

RegEx Demo

关于包含管道和换行符的Java Split字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26040518/

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