如何从字符串中获取每个字符及其在Java中的位置?

时间:2016-06-27 03:58:49

标签: java string position character

即。我的字符串是“pqrstuw”。如何用它的位置得到“t”。我想编辑每个字符并改变它的位置。是否有可能在Java?

3 个答案:

答案 0 :(得分:0)

您可以使用for循环并调用String#charAt() ...这是零基索引处的字符,始终记住字符串对象是不可变的。

答案 1 :(得分:0)

我们都知道String是JDK中定义的不可变(最终)类。因此,不建议在Java中操纵String。并且非常舒适。

在Java中有两种简单的方法来操作字符串。

  
      
  1. 使用StringBuilder类。

  2.   
  3. 使用.charArray()类的String方法更改为char数组。

  4.   

使用StringBuilder类

StringBuilder上的主要操作是appendinsert方法,它们会被重载以接受任何类型的数据。

每个都有效地将给定的数据转换为string,然后将该字符串的字符追加或插入string builder

append方法总是在构建器的末尾添加这些字符; insert方法在指定的位置添加字符。

现在这是代码

String str = "pqrstuw";
StringBuilder strBuild = new StringBuilder(str);
strBuild.indexOf("t"); //return first index where t is found which is 4.
strBuild.lastIndexOf("t"); //return last index where t is found which is 4.
strBuild.getCharAt(4); // you will get t.
strBuild.setCharAt(4,'v');
strBuild.append("v"); append element at last.

有多种重载方法有StringBuilder类。你可以用你的操控方式来做。

使用char数组

String str = "pqrstuw";
char [] arr_str = str.toCharArray(); //it convert your String into a char Array.
 //after manipulation you can change your char Array to String as like
str = arr_str.toString();

答案 2 :(得分:0)

假设字符串变量'word'包含您需要的内容。使用下面的代码打印其中的各种字符。还要添加所需的头文件(java.lang.String;)

int size =  word.length();               // Get length of string

for(int i =0 ; i<size ; i++) {  
    System.out.println(word.charAt(i));  // To print i+1'th letter
}

string_name.charAt(i)将为您提供字符串中的'i + 1'字符。在你的情况下,如果word =“pqrstuvw”,那么word.charAt(3)将给你't'这是字符串的第四个字符。至于你的第二个问题,你需要更清楚一点什么样的你想在你的问题中改变的位置。

以下是另一个类似问题的答案:“替换字符串中特定位置的字符。

字符串在Java中是不可变的。你无法改变它们。

您需要创建一个替换字符的新字符串。

 String myName = "domanokz";
 String newName = myName.substring(0,4)+'x'+myName.substring(5);

或者您可以使用StringBuilder:

 StringBuilder myName = new StringBuilder("domanokz");
 myName.setCharAt(4, 'x');

 System.out.println(myName);