java字元串定位
❶ 在java中求一個字元串在另一個字元串中多次出現的位置。用indexOf方法怎麼做
publicclassPractice
{
privatestaticvoidreadWord(Stringinput,Stringword,intoffset,intcount)
{
offset=input.indexOf(word,offset);
if(offset!=-1)
{
System.out.println(word+"在第"+offset+"個位置出現過.");
readWord(input,word,++offset,++count);
}
else
{
System.out.println(word+"總共出現了:"+count+"次.");
}
}
publicstaticvoidmain(String[]args)
{
Stringinput="Lookbuddy,,onceUlearnedtheheartofjava,IcanguaranteethatUwin.";
Stringword="java";
readWord(input,word,0,0);
}
}
❷ JAVA字元串中取特定字元的位置
String,一但聲明了就不能變了!而StringBuffer是可變的,String聲明的空間是個池裡,而StringBuffer只能在堆里聲明。
int indexOf(int ch)
返回指定字元在此字元串中第一次出現處的索引。
int indexOf(int ch, int fromIndex)
返回在此字元串中第一次出現指定字元處的索引,從指定的索引開始搜索。
int indexOf(String str)
返回指定子字元串在此字元串中第一次出現處的索引。
int indexOf(String str, int fromIndex)
返回指定子字元串在此字元串中第一次出現處的索引,從指定的索引開始。
❸ java獲取字元位置
給你三個方法。都能找出其位置並列印出結果
// 1.使用正則表達式方法
Pattern p = Pattern.compile(",");
String s1 = "abc,,de,f,g,hi,jkl";
Matcher m = p.matcher(s1);
// 將所有匹配的","的位置都列印出來,並統計次數
int cnt1 = 0;
while (m.find()) {
cnt1++;
System.out.println(m.start());
}
System.out.println("使用第1次方法檢測出的,出現次數: " + cnt1);
// 2.使用String自帶的indexOf方法
String s2 = s1;
int pos = 0;
int cnt2 = 0;
while (pos < s2.length()) {
pos = s2.indexOf(',', pos);
if (pos == -1) {
break;
} else {
cnt2++;
System.out.println(pos);
pos++;
}
}
System.out.println("使用第2次方法檢測出的,出現次數: " + cnt2);
// 3.取出字元串String的每個字元逐一比較
String s3 = s1;
int cnt3 = 0;
for (int i = 0; i < s3.length(); i++) {
if (s3.charAt(i) == ',') {
cnt3++;
System.out.println(i);
}
}
System.out.println("使用第3次方法檢測出的,出現次數: " + cnt3);
❹ java字元串位置
提供一下思路,indexof()取得第一個後數值後a,用substring把字元串拆開,要後半部分,繼續indexof()取得數值b,位置就是a+b。以此類推遞歸下就可以!
❺ java字元串查找某個字元後面出現位置的方法!
一樓的說得好像不太對,如果在字元串中出現兩個相同的字元呢,我卻要查找後面那個,所以你這種方法永遠只能找到第一個
❻ java字元串位置定位並調換位置的問題
可能通用的描述一下你的要求嗎?
從例1看的話,是
Relation'(謂詞,'Relation'()) 這樣變成 Relation謂詞Relation.... 去掉了()和單引號『
例2
'(grandparent(X,Y),','(parent(X,Z),'
變成
grandparent(X,Y),(parent(X,Z)
好象是是去掉了單引號。
兩個例子中沒有找出共通點。所以不知道你要做什麼。
❼ java 怎樣轉換字元串中字元位置
「字元串數組」 轉 「字元串」,通過循環,沒有其它方法
String[] str = {"abc", "bcd", "def"};
StringBuffer sb = new StringBuffer();
for(int i = 0; i < str.length; i++){
sb. append(str[i]);
}
String s = sb.toString();
「字元數組」 轉 「字元串」 可以通過下邊的方法
char[] data={'a','b','c'};
String s=new String(data);
❽ java中string怎麼獲取指定位置的字元
java中string獲取指定位置的字元具體如下:
//截取#之前的字元串String str = "sdfs#d";str.substring(0, str.indexOf("#"));//
輸出的結果為:sdfs//indexOf返回的索引也是從0開始的,所以indexOf("#") = 4。
//java中的substring的第一個參數的索引是從0開始,而第二個參數是從1開始。
如何將一個String類型的變數獲取指定位置的值;這里說的是在沒有split的情況下,如:String str = "CDZ";如何獲取分開的字元;將str轉換成StringBuffer進行處理:
publicclassTest{
publicstaticvoidmain(String[]args){
StringprocessNode="DZ";
StringBuffersb=newStringBuffer(processNode);
for(inti=0;i<sb.length();i++){
System.out.println(sb.charAt(i));
}
}
}
❾ java中怎麼輸出字元所在位置
java中輸出字元所在位置可以使用indexOf()函數
例子:
System.out.println("abcd".indexOf("b"));
結果輸出1
返回b字元在字元串abcd中第一次出現的位置