我想删除 "[同译者作品][同作者作品]",我的代码如下String str = o'reilly[同译者作品][同作者作品] taiwan公司";
int c=0;
for(int i=0; i<str.length(); i++)
{
if("[".equals(str.charAt(i)))
{
c++;
}
}
System.out.println(c);
for(int j=0; j<c ; j++)
{
str = str.substring(0, str.indexOf("[")).concat(str.substring(str.indexOf("]")+1,str.length()));
}
System.out.println(str);但是c为0,不知道是什么原因,if("[".equals(str.charAt(i)))这么写是不是有问题,java也没报错啊?
大家帮忙看看,
这里的“[同作者作品]”个数和位置都不是固定的,有没有更好的解决方法?
int c=0;
for(int i=0; i<str.length(); i++)
{
if("[".equals(str.charAt(i)))
{
c++;
}
}
System.out.println(c);
for(int j=0; j<c ; j++)
{
str = str.substring(0, str.indexOf("[")).concat(str.substring(str.indexOf("]")+1,str.length()));
}
System.out.println(str);但是c为0,不知道是什么原因,if("[".equals(str.charAt(i)))这么写是不是有问题,java也没报错啊?
大家帮忙看看,
这里的“[同作者作品]”个数和位置都不是固定的,有没有更好的解决方法?
str = str.substring(0, str.indexOf("[")).concat(str.substring(str.indexOf("]")+1,str.length()));
System.out.println(str);
}
/**
* @param args
*/
public static void main(String[] args) {
C.operate("[同作者作品]o'reilly[同译者作品][同作者作品] taiwan公司[同作者作品]");
}}
str.replaceAll("[同作者作品]","");
if("[".equals(str.charAt(i)))
这句提示String没有equals( char )这个方法
也许高版本的可以
我觉得应该这样写
if( '[' == str.charAt( i ) )
import java.text.*;public class test6{
public static void main(String [] args) {
String str = " o'reilly[同译者作品][同作者作品] taiwan公司";
str=str.replaceAll("\\[同译者作品\\]","");
str=str.replaceAll("\\[同作者作品\\]","");
System.out.println(str);
}
}
String str = "o'reilly[同译者作品][同作者作品] taiwan公司";
int c = 0;
for (int i = 0; i < str.length(); i++) {
if ("[".equals(new Character(str.charAt(i)).toString())) {
c++;
}
}
System.out.println(c);
for (int j = 0; j < c; j++) {
str = str.substring(0, str.indexOf("[")).concat(
str.substring(str.indexOf("]") + 1, str.length()));
}
System.out.println(str);
equals方法里面必须使用封装类,charAt方法返回的基本类型char不能使用的,除非是jdk1.5的自动装相拆箱,不然是会编译错误的。
该结果返回正常。算法没仔细看,应该正确。
int c = 0;
for (int i = 0; i < str.length(); i++) {
if ("[".equals(new Character(str.charAt(i)).toString())) {
c++;
}
}
System.out.println(c);
for (int j = 0; j < c; j++) {
str = str.substring(0, str.indexOf("[")).concat(
str.substring(str.indexOf("]") + 1, str.length()));
}
System.out.println(str);