java 字符串指定位置的字母大小写转换

例如把
String Sa="<ABCDEFGHIJK>SDFER<EGD>FG";
转换成
String Sa="<abcdefghijk>SDFER<egd>FG";

import java.io.IOException;

/**
* 将字符串中< >中的字母大小写进行转换
* @author
*
*/

public class EchCase{

public static void main(String args[]) throws IOException{
String Sa="<ABCDEFGHIJK>SDFER<EGD>FG";
System.out.println("@_1: "+Sa);
ExchangeCase(Sa);
System.out.println("@_2: "+Sa);
}

//*
public static String ExchangeCase(String s){
boolean aFlg = false;
int intCount = 0;

for (int j = 0; j < s.length(); j++) {
char cByte = s.charAt(j);
if (cByte == '<' && intCount == 0) {
aFlg = true;
}
if (cByte == '<') {
++intCount;
}
if (cByte == '>') {
--intCount;
}
if (cByte == '>' && intCount == 0) {
aFlg = false;
}

if (aFlg && intCount > 0) {//转成小写
if (cByte >= 'A' && cByte <= 'Z') { //大写: cByte >= 'a' && cByte <= 'z'
cByte += 32; //大写: cByte -= 32;
//s = cByte;
continue;
} else {
//s = cByte;
continue;
}
}
// System.out.print(cByte);
}
return s;
}// end ExchangeCase*/

}

第1个回答  2012-05-23
正则表达式替换
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class $ {

public static void main(String... _) {

String sa = "<ABCDEFGHIJK>SDFER<EGD>FG";
Pattern p = Pattern.compile("<([A-Z]|[a-z]){0,}>");

Matcher match = p.matcher(sa);

while (match.find()) {
String str = match.group();
sa = sa.replaceFirst(str, str.toLowerCase());
}

System.out.println(sa);
}
}本回答被网友采纳
第2个回答  2012-05-26
大写转小写:
例:system.out.println(变量1.tolowercase(变量2));

小写转大写:
例:system.out.println(变量1.touppercase(变量2));
第3个回答  2012-05-23
public static void main(String args[]) throws IOException{
String Sa="<ABCDEFGHIJK>SDFER<EGD>FG";
System.out.println("@_1: "+Sa);
Sa = ExchangeCase(Sa);
System.out.println("@_2: "+Sa);
}
相似回答