gpt4 book ai didi

不使用正则表达式的Java字符串解析

转载 作者:行者123 更新时间:2023-11-30 04:35:45 25 4
gpt4 key购买 nike

从服务器中,我得到以下形式的字符串:

String x = "fixedWord1:var1 data[[fixedWord2:var2 fixedWord3:var3 data[[fixedWord4]    [fixedWord5=var5 fixedWord6=var6 fixedWord7=var7]]] , [fixedWord2:var2 fixedWord3:var3 data[[fixedWord4][fixedWord5=var5 fixedWord6=var6 fixedWord7=var7]]]] fixedWord8:fixedWord8";

(只有空格分隔单词-var对组)后来,我想将它们存储在 Hashmap 中,例如 myHashMap.put(fixedWord1, var1); 等等。

问题:
在第一个 "data[......]" 标签内,其他 "data[......] 的数量....]"-tags是可变的,我事先不知道字符串的长度。

我不知道如何在不求助于 String.split() 的情况下处理此类字符串,我们的作业任务提供者(大学)不鼓励这样做。

我在互联网上搜索过,但找不到合适的网站来解释这些事情。
如果有经验的人可以给我一些网站链接或诸如“图表计划”之类的东西,以便我可以编写一些东西,那将会有很大的帮助。

编辑:字符串中有错误(off-topic-begin“请不要私刑”off-topic-end),正确的字符串是(已更改fixedWord7=var7 ---到--->fixedWord7=[var7]):

String x = "fixedWord1:var1 data[[fixedWord2:var2 fixedWord3:var3 data[[fixedWord4]    [fixedWord5=var5 fixedWord6=var6 fixedWord7=[var7]]]] , [fixedWord2:var2 fixedWord3:var3 data[[fixedWord4][fixedWord5=var5 fixedWord6=var6 fixedWord7=[var7]]]]] fixedWord8:fixedWord8";

最佳答案

我假设您的字符串遵循相同的模式,其中包含“data”和“[”,“]”。并且变量名/值不会包含这些字符串

  1. 从原始字符串中删除字符串“data[”、“[”、“]”和“,”

    replaceAll("data[", "")
    replaceAll("[", "")
    etc
  2. 使用 StringTokenizer 或按字符循环遍历字符串,以空格分隔字符串:“”。

  3. 然后你会得到像这样的字符串数组

    fixedWorld1:var1
    fixedWorld2:var2
    ......
    fixedWorld4
    fixedWorld5=var5
    ......
  4. 然后再次用“:”或“=”分隔子字符串。并将名称/值放入 M​​ap

关于不使用正则表达式的Java字符串解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13568249/

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