急!急!急!有谁知道用JAVA实现判断字符串里是否含有半角空格,并把它转换为全角空格? String s = 'a b';s = s.replace(' ', ''); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 直接replaceAll(" "," "); 我是从UTF-8格式的字符串里读,这样好象不行,我试过了 可能要把" "和" "轉成UTF-8再替代吧 AnsiString __fastcall TForm1::TrimStr( AnsiString Tm , AnsiString LR ) { // LR … L:左除去 R:右除去 B:dou除去 int len; // 左除去 if ( LR == "L" || LR == "B" ){ len = Tm.Length(); while ( Tm.SubString(1,1) == " " || Tm.SubString(1,2) == " "){ // 半角除去 if ( Tm.SubString(1,1) == " " ){ Tm = Tm.SubString(2,len); len = Tm.Length(); } // 全角除去 else if ( Tm.SubString(1,2) == " " ){ Tm = Tm.SubString(3,len); len = Tm.Length(); } } } // 右除去 if ( LR == "R" || LR == "B" ){ len = Tm.Length(); while ( Tm.SubString(len,1) == " " || Tm.SubString(len-1,2) == " " ){ // 半角除去 if ( Tm.SubString(len,1) == " " ){ len = Tm.Length(); Tm = Tm.SubString(1,len-1); len = Tm.Length(); } // 全角除去 else if ( Tm.SubString(len-1,2) == " " ){ len = Tm.Length(); Tm = Tm.SubString(1,len-2); len = Tm.Length(); } } } return Tm; } void __fastcall TForm1::Button1Click(TObject *Sender) { AnsiString Test = " 全角 "; AnsiString Ret = TrimStr(Test,"B") } 首先要将半角与全角的空格也转换成UTF-8编码,然后用转换之后的字符替换,如下:String str = 'a b c d';String strSpace = ChangeCode (" ", "8859_1", "cp850");String strSpaceA = ChangeCode (" ", "8859_1", "cp850");str = str.replaceAll(strSpace, strSpaceA);==================//***************************************************//名称:ChangeCode//功能:转换指定字符串的字符集(字符编码)//输入:strSource: 要转换的字符串; strCodeFrom: 源字符集; strCodeTo: 目的字符集//输出://返回:转换之后的字符串//***************************************************public String ChangeCode(String strSource, String strCodeFrom, String strCodeTo){ byte[] baTemp = null; try { baTemp = strSource.getBytes (strCodeFrom); strSource = new String (baTemp,strCodeTo); } catch (Exception e) { return (e.toString ()); } return (strSource);} 疑难杂症 Java DWG PDF 疑难问题,有人遇见过吗 如何用java.awt实现这个呢?谢谢啦 :) 请大家帮我看看这个小程序小弟初学!!30分送上在线等!! JAVA多线程问题,谁能解释为什么选B? 一个关于java jdk的问题 奇怪呀!谁能创建这个文件名的文件 求助 我安装的tomcat启动时,会出现如下错误,为什么?有谁知道啊?谢谢 关于object序列化的问题 关于浮点数显示的问题 怎么在servlet里设定一个windows的排程,自动执行一个servlet
replaceAll(" "," ");
{
// LR … L:左除去 R:右除去 B:dou除去
int len;
// 左除去
if ( LR == "L" || LR == "B" ){
len = Tm.Length();
while ( Tm.SubString(1,1) == " " || Tm.SubString(1,2) == " "){
// 半角除去
if ( Tm.SubString(1,1) == " " ){
Tm = Tm.SubString(2,len);
len = Tm.Length();
}
// 全角除去
else if ( Tm.SubString(1,2) == " " ){
Tm = Tm.SubString(3,len);
len = Tm.Length();
}
}
}
// 右除去
if ( LR == "R" || LR == "B" ){
len = Tm.Length();
while ( Tm.SubString(len,1) == " " || Tm.SubString(len-1,2) == " " ){
// 半角除去
if ( Tm.SubString(len,1) == " " ){
len = Tm.Length();
Tm = Tm.SubString(1,len-1);
len = Tm.Length();
}
// 全角除去
else if ( Tm.SubString(len-1,2) == " " ){
len = Tm.Length();
Tm = Tm.SubString(1,len-2);
len = Tm.Length();
}
}
}
return Tm;
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString Test = " 全角 ";
AnsiString Ret = TrimStr(Test,"B")
}
String strSpace = ChangeCode (" ", "8859_1", "cp850");
String strSpaceA = ChangeCode (" ", "8859_1", "cp850");
str = str.replaceAll(strSpace, strSpaceA);==================//***************************************************
//名称:ChangeCode
//功能:转换指定字符串的字符集(字符编码)
//输入:strSource: 要转换的字符串; strCodeFrom: 源字符集; strCodeTo: 目的字符集
//输出:
//返回:转换之后的字符串
//***************************************************
public String ChangeCode(String strSource, String strCodeFrom, String strCodeTo)
{
byte[] baTemp = null;
try
{
baTemp = strSource.getBytes (strCodeFrom);
strSource = new String (baTemp,strCodeTo);
}
catch (Exception e)
{
return (e.toString ());
} return (strSource);
}