在java中用其他字符替换字符

在java中用其他字符替换字符,java,replace,character,Java,Replace,Character,亲爱的各位委员:, 我有个小问题 我想用java中的其他字符替换字符串中的一些字符,我的代码如下所示 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { jComboBox1.removeAllItems(); String str = new GenericResource_JerseyClient().getlist(

亲爱的各位委员:, 我有个小问题

我想用java中的其他字符替换字符串中的一些字符,我的代码如下所示

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

jComboBox1.removeAllItems();
String str =  new GenericResource_JerseyClient().getlist();
    String [] temp = null;
    temp = str.split(",");
     temp[1]=temp[1].replaceAll("'", "");
    temp[1]=temp[1].replaceAll(" ", "");
    temp[1]=temp[1].replace("[", "");
    temp[1]=temp[1].replace("]", "");

     for(int i =0; i < temp.length ; i++)
     {
         jComboBox1.addItem(temp[i]);
     }        // TODO add your handling code here:      // TODO add your handling code here:
                // TODO add your handling code here
    }  
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){
jcombox1.removeAllItems();
String str=new GenericResource_JerseyClient().getlist();
字符串[]temp=null;
temp=str.split(“,”);
temp[1]=temp[1].replaceAll(“,”);
temp[1]=temp[1].replaceAll(“,”);
临时[1]=临时[1]。替换(“[”,”);
临时[1]=临时[1]。替换(“]”,“”);
对于(int i=0;i
从上面的代码中可以看出,我将“'”、“[”、“]”和空白替换为零。 从代码中也可以看出,我将字符串一分为二。在后面的字符串部分,代码运行良好,但前面的字符串部分,代码似乎运行不正常。 我还附上了客户端的下拉列表输出副本

对于如何从字符串中删除[和],任何帮助都将不胜感激


干杯。

您只在
temp[1]
上执行替换-而问题似乎出现在下拉列表中显示的第一项中,这可能是来自
temp[0]
的数据

我想您应该将删除代码提取到一个单独的方法中,并在循环中调用它:

for(int i =0; i < temp.length ; i++)
{
    jComboBox1.addItem(removeUnwantedCharacters(temp[i]));
}

这看起来像是在删除点,但实际上会删除所有字符,因为“.”被视为正则表达式…

您只在
temp[1]
上执行替换-而问题似乎出现在下拉列表中显示的第一项中,这可能是
temp[0]
中的数据

我想您应该将删除代码提取到一个单独的方法中,并在循环中调用它:

for(int i =0; i < temp.length ; i++)
{
    jComboBox1.addItem(removeUnwantedCharacters(temp[i]));
}

这看起来像是在删除点,但实际上会删除所有字符,因为“.”被视为正则表达式…

好吧,您只在项目中使用索引1(第二个)执行替换。然后将所有字符(实际上是两个)添加到组合中。尝试:

for(int i=0;i
好吧,您只在带有索引1(第二个)的item中执行replace。但随后将它们全部(实际上是两个)添加到组合中。请尝试:

for(int i=0;i
常见问题。
我认为代码符合您的要求。

常见问题。

我认为代码满足您的要求。

您只需要对字符串的第二部分temp[1]进行替换。您还需要在temp[0]中进行替换。最好创建一个函数,该函数接受字符串并进行替换,然后对temp[0]和temp[1]调用它。您还可以考虑使用正则表达式一次替换所有字符,而不是一次替换一个字符

String [] temp = String.split(",")

for (int i = 0;i<temp.length;i++) {
   temp[i] = replaceSpecialChars(temp[i]);
}

public String replaceSpecialChars(String input) {
// add your replacement logic here
return input
}
String[]temp=String.split(“,”)

对于(int i=0;i您只在temp[1]上进行替换,temp[1]是字符串的第二部分。您还需要在temp[0]中进行替换。最好创建一个函数,该函数接受字符串并进行替换,然后在temp[0]和temp[1]上调用它。您还可以考虑使用正则表达式一次替换所有字符,而不是一次替换一个字符

String [] temp = String.split(",")

for (int i = 0;i<temp.length;i++) {
   temp[i] = replaceSpecialChars(temp[i]);
}

public String replaceSpecialChars(String input) {
// add your replacement logic here
return input
}
String[]temp=String.split(“,”)

对于(int i=0;i在拆分字符串之前执行所有替换。这比在循环中执行相同的代码要好

例如:

String cleanString = str.replace("'", "").replace(" ", "").replace("[", "").replace("]", "");
String[] temp = cleanString.split(",");
for(int i = 0; i < temp.length ; i++) {
    jComboBox1.addItem(temp[i]);
} 
String cleanString=str.replace(“,”).replace(“,”).replace(“[”,”).replace(“],”);
String[]temp=cleanString.split(“,”);
对于(int i=0;i
在拆分字符串之前执行所有替换。这比在循环中执行相同的代码要好

例如:

String cleanString = str.replace("'", "").replace(" ", "").replace("[", "").replace("]", "");
String[] temp = cleanString.split(",");
for(int i = 0; i < temp.length ; i++) {
    jComboBox1.addItem(temp[i]);
} 
String cleanString=str.replace(“,”).replace(“,”).replace(“[”,”).replace(“],”);
String[]temp=cleanString.split(“,”);
对于(int i=0;i
当我看到你的名字时,我本能地转到向上投票按钮:D。当我看到你的名字时,我本能地转到向上投票按钮:D。@Kishorepandey:我看不出这是如何解决你的问题的,那就是你只修复了一个字符串,而不是所有的字符串。@jon skeet我尝试了dogbane的方法来首先替换字符和字符串然后把它们分开,它就起作用了。@Kishorepandey:那你为什么接受这个答案而不是dogbane的?@jon skeet对不起,我不知道,我现在改了!!谢谢提醒!!@Kishorepandey:我看不出这是怎么解决你的问题的,那就是你只修了一根线,而不是全部。@jon skeet ied dogbane先替换角色,然后分割角色的方法奏效了。@Kishorepandey:那你为什么接受这个答案而不是dogbane的?@jon skeet对不起,我不知道,我现在改了!!谢谢提醒!!