根据JAVA中的数字位置从字母串中删除单个字符

时间:2018-03-15 13:39:37

标签: java arrays string char int

为了给标题提供一些上下文,让我们说我有一个INT数组。所以,例如(1,2,3,4,5) 数组中的每个数字表示字符串中的char。因此,如果字符串是hello,那么array [3]将表示" l"。
从字符串中删除char的最有效或最简单的方法是什么,替换char然后将其添加回字符串中? 所以使用上面的例子我可以改变" l"到" d",将它添加回字符串,这样我的最后一个字符串是" hedlo"。

这是我的代码的一部分:

用于max的方法:

 public static int getMax(int[] inputArray){ 
    int maxValue = inputArray[0]; 
    for(int i=1;i < inputArray.length;i++){ 
      if(inputArray[i] > maxValue){ 
         maxValue = inputArray[i]; 
      } 
     } 
    return maxValue; 
    }

这里是使用数组中max值的代码,作为字符串结果中的位置进行编辑。要编辑的字符应替换为&#34; m&#34;在实际案例中

 int max = getMax(array);
    results.setCharAt(max, 'm');
    String result = results.toString();

2 个答案:

答案 0 :(得分:1)

是的,它可以轻松完成。下面我有一些来自https://stackoverflow.com/a/4576556/9354346

的代码
StringBuilder str = new StringBuilder("hello");
str.setCharAt(2, 'd');
String result = str.toString();

答案 1 :(得分:0)

不知道你为什么要这样做,我不确定究竟要推荐什么,但这里需要考虑一下。 ASCII字符具有与之关联的数值。 Table.

如果将int转换为char,它会将其转换为该值。好吧,

char c = (char) 97; 

会评估为'a'。如果你想让'a'从1开始,你可以在所有东西上加96。

要进行转换,您可以将表中的差异添加到int中。所以从'a'到'd',添加3.

编辑:

我回答了这个问题,假设您正在更改表示字符串的整数数组。重读这个问题,我不确定你在做什么!如果需要将字符串的字符更改为其他字符,则可以使用子字符串函数在更改之前获取字符,并在更改之后将新字符放在中间。

String x = "Hello";
x = x.substring(0,2) + 'd' + x.substring(3);

这使得x说“Hedlo。”