繁体   English   中英

使用hashmap重新排序字符串值

[英]Reordering the string value using hashmap

我的句子是"ram is going to school"在输入后将给出一个解析树,如下所示:

2|TYPE| nx0-VPadjn-VPx1 0|NOUN| NXN 1|AUX| Vvx 3|PREP| Pnx 4|NOUN| NXN

我想重新排序

0|NOUN| NXN 1|AUX| Vvx 2|TYPE| nx0-VPadjn-VPx1 3|PREP| Pnx 4|NOUN| NXN

我写了这段代码。 我应该怎么做才能使其正常工作?

请告诉我HashMap是否可能。 如果可能的话,请告诉我如何?

for(int j=1;j<2;j++) //when multiple parsing is to be done then change the limit to ---parsedderived.length
{
    parsedderived[j] = parsedderived[j].replaceAll("\\^|\\(|\\)|\\~|\\.|\"", " ");
    parsedderived[j] = parsedderived[j].replaceAll("\\{\\S+\\}", "");
    parsedderived[j] = parsedderived[j].replaceAll("[ ]+", " ");
    parsedderived[j] = parsedderived[j].replaceAll("(\\d+)\\s+(\\S+)\\s+(\\S+)", "$1-$2@@$3");
    preparedStatement.setString(4, parsedderived[j]);            

    //String[] x=objSentenceStatusImpl.getStrSourceSen().split("");
    String[] derivedsen=parsedderived[j].split(" ");

    //                    for(int k=1;k<derivedsen.length;k++)
    //                    {
    //                       String[] derivedsen1=derivedsen[k].split("");
    //                       System.out.println(derivedsen);
    //                    }

    String[]Senwords=objSentenceStatusImpl.getStrSourceSen().split("\\s+");//original sentence ram is going to school
    Map<Integer, String> entriesMap = new LinkedHashMap<Integer, String>();

    for(int i = 0; i < Senwords.length; i++) {//for iterration of sen
        parsedderived[j]=parsedderived[j].replaceFirst(" ","");
        parsedderived[j]=parsedderived[j].replaceAll(" ", "##");

        System.out.println(parsedderived[j]);
    }
}

TreeMap<Integer, String>将为您排序键。 只需输入您的Integer, String对,然后当您遍历treeMap.values()您的字符串将按照其键的顺序排列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM