如何将*替换为<&燃气轮机;在字符串中使用java
原件:如何将*替换为<&燃气轮机;在字符串中使用java,java,string,Java,String,原件:abc*d*ef*xyz* 之后:abcef 我尝试使用java将all star替换为一对,我尝试使用replaceall(),但它只替换了一件事。如何成对替换?您可以循环遍历每个字符并创建一个新字符串: String str ="abc*d*ef*xyz*"; StringBuilder sb = new StringBuilder(str.length()); char ch = '<'; for(char c: str.toCharArray()) {
abc*d*ef*xyz*
之后:abcef
我尝试使用java将all star替换为一对,我尝试使用replaceall(),但它只替换了一件事。如何成对替换?您可以循环遍历每个字符并创建一个新字符串:
String str ="abc*d*ef*xyz*";
StringBuilder sb = new StringBuilder(str.length());
char ch = '<';
for(char c: str.toCharArray()) {
if(c == '*') {
c = ch;
ch = (ch=='>'? '<': '>');
}
sb.append(c);
}
System.out.println(sb);
String str=“abc*d*ef*xyz*”;
StringBuilder sb=新的StringBuilder(str.length());
字符ch=“”?“”);
}
sb.附加(c);
}
系统输出打印LN(sb);
尝试以下循环:
String str = "abc*d*ef*xyz*";
char nextReplace = '<';
for(int i=0; i<str.length(); i++) {
boolean find = false;
if(str.charAt(i) == '*') {
find = true;
str = str.substring(0, i) +nextReplace +str.substring(i+1);
}
if(find) {
if(nextReplace == '<') {
nextReplace = '>';
}else {
nextReplace = '<';
}
}
}
System.out.println(str);
String str=“abc*d*ef*xyz*”;
char nextReplace='您是否尝试在for循环中替换它们?两个replaceAll()
String str=“abc*d*ef*xyz*”.replaceAll(“(\\*([a-zA-Z0-9]+)\\*”,”)如何
或仅使用新建StringBuilder(str)
,并设置字符而不是追加字符。或者只对toCharArray
返回的数组进行操作。至少,预先调整字符串生成器的大小。