㈠ java正則里如何判斷,錄入的字元串里全形的只能是漢字,半形的可以是數字、英文、以及@ % + - #這些符號。
[0-9a-zA-Z@%\+\-\u4e00-\u9fa5]*
你試這個,應該可以達到你的要求。
㈡ Java如何判斷字元串中包含有全形,半形符號
可以使抄用char來比襲較,事例:
public class test {
/**
* @param args
*/
public static void main(String[] args) {
//指定字元串
String aa = "abcd%";
for(int i =0;i<aa.length();i++){
//獲取相應的字元
char bb = aa.charAt(i);
if(bb == '%'){
System.out.println(bb);
}
}
}
}
㈢ java實現將字元串中的半形轉換為全形
/**
* 半形轉全形
* @param input String.
* @return 全形字元串.
*/
public static String ToSBC(String input) {
char c[] = input.toCharArray();
for (int i = 0; i < c.length; i++) {
if (c[i] == ' ') {
c[i] = '\u3000';
} else if (c[i] < '\177') {
c[i] = (char) (c[i] + 65248);
}
}
return new String(c);
}
網上都能找到回,方法好多答
㈣ 如何判斷電腦輸入是全形還是半形
打開輸入法輸入尖括弧,在非中文狀態下如果出現「<」說明是半形,如果出現「<」,說明是全形。
㈤ 關於Java中的字元串包含空格,全形空格和半形空格的區別
關於Java中的字元串包含空格,全形空格和半形空格的區別。
1.Character.isWhitespace()認為全形和半形空專格都為空屬格,即返回true
2.Character.isSpaceChar()認為全形和半形空格都為空格,即返回true
3.Character.isSpace()只認為半形空格為空格,即半形空格返回true,全形空格返回false,但是此方法不被贊成使用。
4.trim()時,只能截取掉半形的空格,而不能將全形的空格給去掉。
㈥ 如何判斷一個java字元串中是否含有半形字元
給你個思路
char a = 'a';
char b = 'a';// 全形a
char aa = 'z';
char bb = 'z'; //全形z
System.out.println((int)a+":"+(int)aa);
System.out.println((int)b+":"+(int)bb);
結果,半形a~z的值是在97~122
全形 a~z的值在65345~65370之間版
據此判權斷即可。
㈦ java 全形半形字元轉換如何實現
import org.apache.commons.lang.StringUtils;/*** <PRE* 提供對字元串的全形-半形,半形-全形轉換* </PRE*/public class BCConvert {/*** ASCII表中可見字元從!開始,偏移位值為33(Decimal)*/static final char DBC_CHAR_START = 33; // 半形!/*** ASCII表中可見字元到~結束,偏移位值為126(Decimal)*/static final char DBC_CHAR_END = 126; // 半形~/*** 全形對應於ASCII表的可見字元從!開始,偏移值為65281*/static final char SBC_CHAR_START = 65281; // 全形!/*** 全形對應於ASCII表的可見字元到~結束,偏移值為65374*/static final char SBC_CHAR_END = 65374; // 全形~/*** ASCII表中除空格外的可見字元與對應的全形字元的相對偏移*/static final int CONVERT_STEP = 65248; // 全形半形轉換間隔/*** 全形空格的值,它沒有遵從與ASCII的相對偏移,必須單獨處理*/static final char SBC_SPACE = 12288; // 全形空格 12288/*** 半形空格的值,在ASCII中為32(Decimal)*/static final char DBC_SPACE = ' '; // 半形空格/*** <PRE* 半形字元-全形字元轉換
* 只處理空格,!到˜之間的字元,忽略其他* </PRE*/private static String bj2qj(String src) {
if (src == null) {
return src;}StringBuilder buf = new StringBuilder(src.length());
char[] ca = src.toCharArray();
for (int i = 0; i < ca.length; i++) {
if (ca[i] == DBC_SPACE) { // 如果是半形空格,直接用全形空格替代
buf.append(SBC_SPACE);
} else if ((ca[i] = DBC_CHAR_START) && (ca[i] <= DBC_CHAR_END)) { // 字元是!到~之間的可見字元
buf.append((char) (ca[i] + CONVERT_STEP));
} else { // 不對空格以及ascii表中其他可見字元之外的字元做任何處理
buf.append(ca[i]);}}return buf.toString();}/*** <PRE* 全形字元-半形字元轉換
* 只處理全形的空格,全形!到全形~之間的字元,忽略其他* </PRE*/public static String qj2bj(String src) {
if (src == null) {
return src;}StringBuilder buf = new StringBuilder(src.length());
char[] ca = src.toCharArray();
for (int i = 0; i < src.length(); i++) {
if (ca[i] = SBC_CHAR_START && ca[i] <= SBC_CHAR_END) { // 如果位於全形!到全形~區間內
buf.append((char) (ca[i] - CONVERT_STEP));
} else if (ca[i] == SBC_SPACE) { // 如果是全形空格
buf.append(DBC_SPACE);
} else { // 不處理全形空格,全形!到全形~區間外的字元
buf.append(ca[i]);}}return buf.toString();}public static void main(String[] args) {
System.out.println(StringUtils.trimToEmpty(" a,b ,c "));
String s = "nihaohk|nihehe,。787";
s=BCConvert.qj2bj(s);
㈧ java中全形,半形判斷
我來學習了
㈨ JAVA中,我想把下面的的全形括弧轉換成半形括弧,怎麼實現啊!我用replaceAll,好像不行。
方法:
直接用replaceAll來替換
方法2:
importjava.io.UnsupportedEncodingException;
publicclassTest{
(StringQJstr)
{
StringBufferoutStrBuf=newStringBuffer("");
StringTstr="";
byte[]b=null;
for(inti=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(newString(b,"unicode"));
}else{
outStrBuf.append(Tstr);
}
}
returnoutStrBuf.toString();
}
publicstaticvoidmain(String[]args){
Stringname="購物(網上商城)";
System.out.println(half2Fullchange(name));
}
}
㈩ java截取字元串 一個字元串中可能包含全形半形字元,以每6個位元組為一段,把結果放到list中。
public class StringTest {
public static void main(String[] args) {
List list=new ArrayList();
String str="輪LRW愛JAVA吖";
byte[] bs=str.getBytes();
System.out.println(bs.length);
for(int i=0;i<bs.length/6+1;i++){
if(i==bs.length/6){
list.add(new String(bs,i*6,bs.length-i*6));
break;
}
list.add(new String(bs,i*6,6));
}
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
}
}
結果
13
輪LRW?
甁AVA?
?
你要的代碼啊,可是愛正好在6,7的位置上,專所以會出屬現?