‘壹’ java中怎么向一个字符串的固定位置插入字符串
java字符串中在特定位置插入另一个字符串方式很多,下面介绍2种:
一,可以采用StringBuffer或者StringBuilder作为中介完成。因为StringBuffer或者StringBuilder中含有插入字符串的方法insert(int offset, String str);参数offset表示插入的位置,str表示需要插入的字符串,该方法返回值便是插入完成的StringBuffer的对象。下面我提供一个例子,代码很简单,不需要多做介绍:
public String (String src, Strin dec, int position){
StringBuffer stringBuffer = new StringBuffer(src);
return stringBuffer.insert(position, dec).toString();
}
二,可以直接使用String的方法:
比如:String s="123214",在3后面插入8可以这样写
s.suistring(0,"2")+"8"输出就是s="123824"了;
‘贰’ java字符串插入另一字符串
你是想比较字符串的尺寸还是大小呢?
如果是指尺寸,即字符串的长度,那么比较尺寸只需要比较它们的 length 属性即可。
但如果是指大小,即字符串的内容比较,应该使用 compareTo 方法。
至于插入操作,如果是在较大字符串中插入较小字符串,可以将较大字符串使用 split 方法拆分成数组,再将较小字符串插入到指定位置,最后用拼接方法组装回字符串。
‘叁’ Java中StringBuffer类append方法的使用
参数将被转换成字符串,就好象使用了 String.valueOf 方法一样。然后,将所得字符串中的字符追加到此序列。 参数:obj - 一个 Object。 返回:此对象的一个引用。 另请参见:String.valueOf(java.lang.Object), append(java.lang.String)appendpublic StringBuffer append(String str) 将指定的字符串追加到此字符序列。 按顺序追加 String 变量中的字符,使此序列增加该变量的长度。如果 str 为 null,则追加 4 个字符 "null"。 假设此字符序列的长度在执行 append 方法前为 n。如果 k 小于 n,则新字符序列中索引 k 处的字符等于原序列中索引 k 处的字符;否则它等于参数 str 中索引 k-n 处的字符。 参数:str - 一个 string。 返回:此对象的一个引用。appendpublic StringBuffer append(StringBuffer sb) 将指定的 StringBuffer 追加到此序列中。 按顺序将 StringBuffer 参数中的字符追加到此 StringBuffer 中,并使 StringBuffer 在长度上增加该参数的长度。如果 sb 为 null,则将 4 个 "null" 字符追加到此 StringBuffer 中。 在执行 append 方法前,让 StringBuffer 中包含的原有字符序列的长度为 n。如果 k 小于 n,则新字符序列中索引 k 处的字符等于原有字符序列中索引 k 处的字符;否则它等于参数 sb 中索引 k-n 处的字符。 该方法在 this(目标)对象上实现同步,但不在源(sb)上实现同步。 参数:sb - 要追加的 StringBuffer。 返回:该对象的一个引用。 从以下版本开始:1.4 appendpublic StringBuffer append(CharSequence s) 将指定的 CharSequence 追加到该序列。 按顺序将 CharSequence 参数中的字符追加到该序列中,使该序列增加该参数的长度。 该方法的结果与调用 this.append(s, 0, s.length()) 的结果完全相同; 该方法在 this(目标)对象上实现同步,但不在源(s)上实现同步。 如果s 为 null,则追加 4 个 "null" 字符。 指定者:接口Appendable 中的 append参数:s - 要追加的 CharSequence。 返回:此对象的一个引用。 从以下版本开始:1.5 appendpublic StringBuffer append(CharSequence s, int start, int end) 将指定 CharSequence 的子序列追加到此序列。 按顺序追加参数 s 中的字符,即从索引 start 开始到索引 end 结束的此序列的内容。此序列增加的长度为 end - start。 假设此字符序列的长度在执行 append 方法前为 n。如果 k 小于 n,则新字符序列中索引 k 处的字符等于原序列中索引 k 处的字符;否则它等于参数 s 中索引 k+start-n 处的字符。 如果s 为 null,则认为 s 参数包含 4 个字符 "null",并以此为根据追加字符。 指定者:接口Appendable 中的 append参数:s - 要追加的序列。 start - 要追加的子序列的起始索引。 end - 要追加的子序列的结束索引。 返回:此对象的一个引用。 抛出:IndexOutOfBoundsException 如果 start 或 end 为负;或者 start 大于 end;或者 end 大于 s.length() 从以下版本开始:1.5 appendpublic StringBuffer append(char[] str) 将char 数组参数的字符串表示形式追加到此序列。 按顺序将数组参数中的字符追加到此序列的内容中。此字符将增加该参数的长度。 该方法的总体效果与以下操作过程的效果相同:先使用 String.valueOf(char[]) 方法将参数转换为字符串,然后将所得字符串的字符追加到此字符序列。 参数:str - 要追加的字符。 返回:此对象的一个引用。appendpublic StringBuffer append(char[] str, int offset, int len) 将char 数组参数的子数组的字符串表示形式追加到此序列。 将char 数组 str 中的字符按顺序追加到此序列的内容中,从索引 offset 开始。此字符的长度将增加 len。 该方法的最终效果与以下操作过程的效果相同:先使用 String.valueOf(char[]) 方法将参数转换为字符串,然后将所得字符串的字符追加到此字符序列。 参数:str - 要追加的字符。 offset - 要追加的第一个 char 的索引。 len - 要追加的 char 的数量。 返回:此对象的一个引用。appendpublic StringBuffer append(boolean b) 将boolean 参数的字符串表示形式追加到序列。 参数将被转换成字符串,就好象使用了 String.valueOf 方法一样。然后,将所得字符串中的字符追加到此序列。 参数:b - 一个 boolean 值。 返回:此对象的一个引用。 另请参见:String.valueOf(boolean), append(java.lang.String)appendpublic StringBuffer append(char c) 将char 参数的字符串表示形式追加到此序列。 参数将被追加到此序列。此序列的长度将增加 1。 该方法的最终效果与以下操作过程的效果相同:先使用 String.valueOf(char[]) 方法将参数转换为字符串,然后将所得字符串的字符追加到此字符序列。 指定者:接口Appendable 中的 append参数:c - 一个 char 值。 返回:此对象的一个引用。appendpublic StringBuffer append(int i) 将int 参数的字符串表示形式追加到此序列。 参数将被转换成字符串,就好象使用了 String.valueOf 方法一样。然后,将所得字符串中的字符追加到此序列。 参数:i - 一个 int 值。 返回:此对象的一个引用。 另请参见:String.valueOf(int), append(java.lang.String)
‘肆’ JAVA请问实现在指定位置插入字符串方法
推荐你使用 SrinBuilder
在没有并发的情况下。效率是最高的。
调用insert方法就可以在指定的位置插入字符串
StringBuilder sb=new StringBuilder("idsfksjdflksajdfkjh");
sb.insert(5,"dss");
‘伍’ java String数组中,向其中一个已有字符串的元素增加新的字符串,可以吗怎么做
直接做字符串运算即可 ,a[0]+=s;
‘陆’ java 字符串中怎样在特定位置插入另一字符串
importjava.util.regex.*;
publicclassTest2{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
StringBuffers1=newStringBuffer("abfgh");//原字符串
Strings2="cde";//要插入的字符串
Patternp=Pattern.compile("b");//插入位置
Matcherm=p.matcher(s1.toString());
if(m.find()){
s1.insert((m.start()+1),s2);//插入字符串
}
System.out.println(s1.toString());
}
}