如何基于起始端数组列表进行子串

时间:2015-03-27 08:22:59

标签: java

我有一个String和一个自定义对象的关联列表。列表中的每个自定义对象都包含 start end 字符,用于String中的某些信息。我想以这样的方式处理String,即我跳过String中属于自定义对象List定义的边界内的字符。然后将重构翻译的字符串,使得由自定义对象列表定义的字符在新字符串中包括未翻译的字符。我之前订购了基于 start 字符的自定义对象列表,因此可以确信我可以遍历列表。

目前我做的是这样的。但我想知道是否有更好,更有效的方法来做到这一点?

private static String translateString(String input, List listOfStartEnds) {
    int postition = 0;
    String translated = "";

    for (int i = 0; i < listOfStartEnds.size(); i++) {
        String sub = input.substring(postition, listOfStartEnds.get(i).getStart());
        // Calls an HTTP Post to translate a string and attempts to reconstruct
        translated += TranslateHelper.translate(sub) + " " + input.statusText.substring(listOfStartEnds.get(i).getStart(), listOfStartEnds.get(i).getEnd()) + " ";  
        postition = listOfStartEnds.get(i).getEnd();
    }
    return translated;
}

0 个答案:

没有答案