簡體   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