-1
后发现原来的指数我有类似下面的功能:剥离字符串
int getIndex(String noisyString) {
String quietString = noisyString.replaceAll("[^a-z]", "");
int quietStringIndex = findIndexInQuietString(quietString);
return originalIndexInNoisyString; // ???
}
剥离所有非字母字符的字符串后,我找到了剥离字符串内任意选择索引。我怎样才能将这个索引转换回可以用于未划分字符串的索引?
您需要一个数据结构来映射原始位置到创建位置。有几种可能的方法有不同的权衡。在问这个问题之前,你先尝试了什么? – Kon
我花了一段时间思考是否需要创建'String#replaceAll'的新实现,否则我看不到创建原始地图到创建位置的方式。我想知道是否存在一个更优雅的解决方案,或者一些常用的解决方案。 – konsolas
如果你任意选择的索引是,比如说42,那么只需遍历原始字符串,直到找到第42个字符为字母字符。 – FredK