怎样在一列字符串中在 && 或者 || 这两种特殊符号前后固定位置插入字符串?
例如
if ( i > 0 && i < 100 ) printf(”OK”);//这个看做一字符串
插入后变成:
if ( COND(i > 0) && COND(i < 100) ) printf(”OK”);//也是一字符串
速求代码!如果有代码再追加分数,拜托各位了
java字符串中在特定位置插入另一个字符串可以采用StringBuffer或者StringBuilder作为中介完成。
因为StringBuffer或者StringBuilder中含有插入字符串的方法insert(int offset, String str);参数offset表示插入的位置,str表示需要插入的字符串,该方法返回值便是插入完成的StringBuffer的对象。下面我提供一个例子,代码很简单,不需要多做介绍:
public String insertStringInParticularPosition(String src, Strin dec, int position){
StringBuffer stringBuffer = new StringBuffer(src);
return stringBuffer.insert(position, dec).toString();
}
因为StringBuffer或者StringBuilder中含有插入字符串的方法insert(int offset, String str);参数offset表示插入的位置,str表示需要插入的字符串,该方法返回值便是插入完成的StringBuffer的对象。下面我提供一个例子,代码很简单,不需要多做介绍:
public String insertStringInParticularPosition(String src, Strin dec, int position){
StringBuffer stringBuffer = new StringBuffer(src);
return stringBuffer.insert(position, dec).toString();
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2017-10-05
********************************************************************
新建类InsertString.java,具体代码如下:
********************************************************************
public class InsertString {
public static void main(String[] args) {
StringBuffer original = new StringBuffer("if ( i > 0 && i < 100 ) printf(”OK”);");
System.out.println("Original string is: " + original);
original.insert(original.indexOf("&&") - 6, "COND(").insert(original.indexOf("&&") - 1, ")");
StringBuffer result = original.insert(original.indexOf("&&") + 3, "COND(").insert(original.indexOf("&&") + 15, ")");
System.out.println("Result is: " + result);
}
}
********************************************************************
运行结果如下:
********************************************************************
Original string is: if ( i > 0 && i < 100 ) printf(”OK”);
Result is: if ( COND(i > 0) && COND(i < 100) ) printf(”OK”);本回答被提问者采纳
新建类InsertString.java,具体代码如下:
********************************************************************
public class InsertString {
public static void main(String[] args) {
StringBuffer original = new StringBuffer("if ( i > 0 && i < 100 ) printf(”OK”);");
System.out.println("Original string is: " + original);
original.insert(original.indexOf("&&") - 6, "COND(").insert(original.indexOf("&&") - 1, ")");
StringBuffer result = original.insert(original.indexOf("&&") + 3, "COND(").insert(original.indexOf("&&") + 15, ")");
System.out.println("Result is: " + result);
}
}
********************************************************************
运行结果如下:
********************************************************************
Original string is: if ( i > 0 && i < 100 ) printf(”OK”);
Result is: if ( COND(i > 0) && COND(i < 100) ) printf(”OK”);本回答被提问者采纳
第2个回答 2010-05-23
用index()查找具体索引!便利每个索引,依据这个索引,subString()字符串,固定位置插入字符串后保存下,然后便利下一个索引!
第3个回答 2010-05-25
给个很不地道的写法,哈哈~~~
字符串.replaceAll("&&", ") && COND(").replaceAll("\\|\\|", ") || COND("));
字符串.replaceAll("&&", ") && COND(").replaceAll("\\|\\|", ") || COND("));
第4个回答 2015-09-24
参照如下代码:
int position=10;string str="abcdefghijklmn"
string insertstr="xx";
string result="";
for(int i=0;i<str.length;i++){
if(i==10-1){
result+=insertstr+str[i].tostring();
}else{
result+=str[i].tostring();
}
}
system.println(result);