我想在最后一次出现任何字符之前连接一个字符串。
我想做这样的事情:
addToString(lastIndexOf(separator), string);
其中“ddToString”是一个在“lastIndexOf(分隔符)”之前添加“string”的函数
有什么想法吗?
我想到的一种方法是制作string = string + separator
。
但是,我无法弄清楚如何在特定索引之后重写concatenate函数以进行连接。
答案 0 :(得分:3)
你应该在http://download.oracle.com/javase/7/docs/api/查看Java的api并在找到指定字符的索引后使用String Classes substring(int beginIndex)方法,这样
public String addToString(String source, char separator, String toBeInserted) {
int index = source.lastIndexOf(separator);
if(index >= 0&& index<source.length())
return source.substring(0, index) + toBeInserted + source.substring(index);
else{throw indexOutOfBoundsException;}
}
答案 1 :(得分:2)
试试这个:
static String addToString(String source, int where, String toInsert) {
return source.substring(0, where) + toInsert + source.substring(where);
}
您可能想要添加一些参数检查(例如,如果找不到字符)。
答案 2 :(得分:1)
您需要使用StringBuffer
和方法append(String)
。 Java内部将+
之间的String
转换为临时StringBuffer
,调用append(String)
,然后调用toString()
并让GC释放已分配的内存。
答案 3 :(得分:1)
简单的方法是:
String addToString(String str, int pos, String ins) {
return str.substring(0, pos) + ins + str.substring(pos);
}