-1
後發現原來的指數我有類似下面的功能:剝離字符串
int getIndex(String noisyString) {
String quietString = noisyString.replaceAll("[^a-z]", "");
int quietStringIndex = findIndexInQuietString(quietString);
return originalIndexInNoisyString; // ???
}
剝離所有非字母字符的字符串後,我找到了剝離字符串內任意選擇索引。我怎樣才能將這個索引轉換回可以用於未劃分字符串的索引?
您需要一個數據結構來映射原始位置到創建位置。有幾種可能的方法有不同的權衡。在問這個問題之前,你先嚐試了什麼? – Kon
我花了一段時間思考是否需要創建'String#replaceAll'的新實現,否則我看不到創建原始地圖到創建位置的方式。我想知道是否存在一個更優雅的解決方案,或者一些常用的解決方案。 – konsolas
如果你任意選擇的索引是,比如說42,那麼只需遍歷原始字符串,直到找到第42個字符爲字母字符。 – FredK