当前位置: 首页 > 知识库问答 >
问题:

解析字符串变量并在映射中插入值

雷浩思
2023-03-14

我有下面的字符串,我从打开一个文件得到的,其中包含我们的国家和他们的首都的列表

    String text = "US_states"; //text file with US States and capitols

    byte[] buffer = null;

    InputStream is;
    try {
        is = getAssets().open(text);
        int size = is.available(); //size of the file in bytes
        buffer = new byte[size]; //declare the size of the byte array with size of the file
        is.read(buffer); //read file
        is.close(); //close file

    } catch (IOException e) {
        e.printStackTrace();
    }

    String str_data = new String(buffer); // Store text file data in the string variable
    }

现在我想解析这个字符串并将其插入到一个映射对象map m=new HashMap()中;但我不知道如何解析/拆分各种元素...

国有资本-----------------------阿拉巴马州蒙哥马利阿拉斯加朱诺亚利桑那州凤凰城阿肯色州小石城加利福尼亚州萨克拉门托科罗拉多州丹佛康涅狄格州哈特福德特拉华州多佛佛罗里达州塔拉哈西佐治亚州亚特兰大夏威夷檀香山伊利诺伊州斯普林菲尔德印第安纳州印第安纳波利斯爱荷华州得梅因堪萨斯州托皮卡肯塔基州法兰克福路易斯安那州巴吞鲁日缅因州奥古斯塔马萨诸塞州波士顿密歇根州兰辛明尼苏达州圣保罗密西西比杰克逊密苏里州杰斐逊市蒙大拿州海伦娜内布拉斯加林肯内华达卡森市新罕布什尔州康科德新泽西州特伦顿新墨西哥州圣菲纽约州奥尔巴尼罗利北达科他州俾斯麦俄亥俄州哥伦布俄克拉何马州俄克拉何马城俄勒冈州塞勒姆宾夕法尼亚州哈里斯堡罗德岛普罗维登斯南卡罗来纳州哥伦比亚南达科他州皮埃尔田纳西州得克萨斯州纳什维尔奥斯汀犹他州盐湖城佛蒙特州蒙彼利埃弗吉尼亚州里士满华盛顿奥林匹亚西弗吉尼亚州查尔斯顿威斯康星州麦迪逊怀俄明州夏延

共有1个答案

司寇飞航
2023-03-14

你不能在一个高度无序的数据上编写一个有效的算法并期望得到结果。数据组织与任何数据处理算法一样重要。

第一步应该是组织你的数据。基本上,我的理解是,当您解析任何基于纯文本的数据时,应该/可以记住以下两件事,以帮助您的解析算法有效地工作。

  1. 分隔符-将用作分隔两个连续值的边界的字符。例如逗号(,)

需要注意的是,当您使用string作为键时,Alabama和Alabama都可以作为两个单独的键使用。您最好将字符串保存为大写或小写作为键,以便将有效/唯一标识作为键。

至于HashMap以及如何使用它,我希望这篇Map教程能提供帮助。

 类似资料:
  • 问题 你想创建一个内嵌变量的字符串,变量被它的值所表示的字符串替换掉。 解决方案 Python并没有对在字符串中简单替换变量值提供直接的支持。 但是通过使用字符串的 format() 方法来解决这个问题。比如: >>> s = '{name} has {n} messages.' >>> s.format(name='Guido', n=37) 'Guido has 37 messages.' >

  • 问题内容: 我想在Python中将变量引入字符串中。 例如,看下面的脚本。我只是想为图像起个名字,例如…到,或者如果您使用会计师,因为我可以替换部分价值链以生成计数器。 问题答案: data = self.cmd(“r.out.gdal in=rdata out=geo{0}.tif”.format(i)) self.dataOutTIF.setValue(“geo{0}.tif”.format(

  • 问题内容: 尝试将变量插入回显的字符串中。上面的代码不起作用。如何将php变量迭代到回显字符串中? 问题答案: 单引号不会解析其中的PHP变量。使用双引号或使用点扩展回声。 要么 在您的情况下: 要么

  • 我只是尝试在HTML中插入从表单中提取的两个值。使用Flask和mysql.connector 这是我的index.html: 和我在python(app.py)中的行: 无论出于什么原因,我在执行第一个游标时会出现内部服务器错误,但“#”游标代码可以正常工作...请问谁能告诉我,我哪里出了问题。

  • 问题内容: Java中的字符串构建使我感到困惑。我讨厌做这样的事情: 或者,使用StringBuilder,如下所示: 我肯定会丢失一些东西。有更好的方法。就像是: 代替: 做: 要么: 问题答案: 如果您使用的是Java 5或更高版本,则可以使用: 有关详细信息,请参见。

  • 问题内容: 我下面有String,其格式需要将其加载到地图中,因此我需要在逗号上分割,然后加载为键及其值。 我在这里使用Splitter为我完成这项工作,但在某些情况下失败了。对于我的某些字符串,value具有一些带等号的字符串。所以对于下面的字符串,它对我来说是失败的: 如何使它适用于上述情况?对于上述情况,将为,值应为。这可能吗? 问题答案: 您可以添加一个数字来表示要拆分多少个,只需添加2个