我应该如何标记字符串的字符位置?
例如,我有一个字符串 'string' 并将 'str' 更改为 'flam' 以成为 'flaming'。我想标记已被替换的“火焰”部分。在java中执行此操作的最佳方法是什么?
进一步的例子:
该字符串开始时没有标记,这意味着没有任何内容被替换。然后将 r 标记为之前替换的那些。
字符串 -> 燃烧
------ -> rrrr---
如果我继续改变
燃烧的-> flamiche
rrrr--- -> rrrr-rrr
我应该如何标记字符串的字符位置?
例如,我有一个字符串 'string' 并将 'str' 更改为 'flam' 以成为 'flaming'。我想标记已被替换的“火焰”部分。在java中执行此操作的最佳方法是什么?
进一步的例子:
该字符串开始时没有标记,这意味着没有任何内容被替换。然后将 r 标记为之前替换的那些。
字符串 -> 燃烧
------ -> rrrr---
如果我继续改变
燃烧的-> flamiche
rrrr--- -> rrrr-rrr
我认为..
使用 int position = String.indexOf() 方法获取字符串位置。
和 flam + String.SubString(position)。
HashMap<String, int[]> tagDetails = new HashMao<String, int[]>();
数组的长度可以为 2,字符串tag
中的开始和结束索引为 。key
但是,它并不能解决重复密钥问题。
或者
您可以创建类似于以下的自定义对象:
class TaggedObject
{
int objId;
String theString;
int startIndex;
int endIndex;
}