JAVA中,我想把下面的的全角括号转换成半角括号,怎么实现啊!我用replaceAll,好像不行。

String name = 购物(网上商城);
谢谢各位大侠了

方法1:

直接用replaceAll来替换

方法2:

import java.io.UnsupportedEncodingException;

public class Test {

public static final String half2Fullchange(String QJstr)
throws UnsupportedEncodingException {

StringBuffer outStrBuf = new StringBuffer("");

String Tstr = "";

byte[] b = null;

for (int i = 0; i < QJstr.length(); i++) {

Tstr = QJstr.substring(i, i + 1);

if (Tstr.equals(" ")) {

// 半角空格

outStrBuf.append(Tstr);

continue;

}

b = Tstr.getBytes("unicode");

if (b[2] == 0) {

// 半角?

b[3] = (byte) (b[3] - 32);

b[2] = -1;

outStrBuf.append(new String(b, "unicode"));

} else {

outStrBuf.append(Tstr);

}

}

return outStrBuf.toString();

}

public static void main(String[] args) throws UnsupportedEncodingException {
String name = "购物(网上商城)";
System.out.println(half2Fullchange(name));

}

}

追问

String name = "购物(网上商城)";
name.replaceAll("(", "(");
name.replaceAll(")", ")");
System.out.println(name);
我这写好之后,转换之后,括号并没有用转换后的括号!请教大侠

追答

name = name.replaceAll("(", "(").replaceAll(")", ")");

要重新赋值的。 另外替换时你可以用链表。

追问

谢谢,按照你的这个写法可以了!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-18
public static void main(String[] args) {
String str="购物(网上商城)";
String str1=str.replace("(","[");
String str2=str1.replace(")","]");
System.out.println(str2);
}追问

你这个不是 全角 括号,我要的是全角括号的转换。

相似回答