java字符串格式
1. 在java里,什么是格式化字符串
格式化字符串就是按一定格式输出的字符串
举个例子来说,你想输出时间
2006-07-25
21:20:30
这就是一个格式化字符串,它的格式为
yyyy-mm-dd
hh:mm:ss
下面再给你一个操作的例子,比如说你要输出时间
formatdatetime('yyyy-mm-dd
hh:mm:ss',now);
就能够按我上面的格式输出时间了
又比如说你经过计算得到一个结果,你想用一个有格式的字符串输出
例如:计算结果是xxx,那么可以这样写:
format('计算结果是%d',[result]);
我给出的是delphi代码,如果你用c的,用printf语句也可以实现
printf("计算结果是%d",result);
2. java判断字符串格式
数字
booleanb="000-000-000".matches("\d{3}-\d{3}-\d{3}");
System.out.println(b);
以下为所有字符
booleanb="阿三A-sss-000"
.matches("(\d{3}||\D{3}||\w{3}||\W{3}||^\w{3}||^\d{3}||^\D{3}||^\W{3})
-(\d{3}||\D{3}||\w{3}||\W{3}||^\w{3}||^\d{3}||^\D{3}||^\W{3})
-(\d{3}||\D{3}||\w{3}||\W{3}||^\w{3}||^\d{3}||^\D{3}||^\W{3})");
System.out.println(b);
如需其他的请私聊
3. 请问java如何改变字符串的编码方式
byte[] b=string.getBytes("GB2312");//使用GB2312编码方式对字符串string进行编码
//这时要想将字节数组b的内容正确解码只能使用GB2312的编码方式进行解码,即
String str=new String(b,"GB2312");//这里若使用UTF-8编码方式来进行解码就会乱码
//将eclipse默认的编码方式改为UTF-8,只是用该编码方式对.java源文件进行编码保存
//这个对new String(string.getBytes("GB2312"),"UTF-8")没啥影响的
//因为从java源文件获取字符串string时,已经通过UTF-8编码方式进行解码了
//而string.getBytes("GB2312")是使用指定的编码方式对字符串string进行从新编码
//这两者之间没啥关系的
4. java 字符串格式输出
public static void main(String[] args) {
int i = 1234;
System.out.println(addZero(i,5));
int j = 12345;
System.out.println(addZero(j,5));
int k = 123456;
System.out.println(addZero(k,5));
}
public static String addZero(int c, int Length) {
String strC = Integer.toString(c);
int strLen = strC.length();
StringBuffer sb = null;
while (strLen < Length) {
sb = new StringBuffer();
sb.append("0").append(strC);
strC = sb.toString();
strLen = strC.length();
}
return strC;
}
5. 怎么 知道 java字符串 编码格式
这样的测试方法是不正确的。getBytes(charset)是解码,new
String(byte[],
charset)是编码。new
String(str.getBytes(charset),charset)是解码再编码,无论charset是什么编码格式,返回的字符串内容原始str是一致,因此equals方法都是返回true,达不到测试字符串编码格式的目的。个人观点:正确的测试姿势应该是这样的:
String charset ="xxx"; //假定编码格式
String str = "中文";
boolean flag = str.equals(new String(str.getBytes(),charset));flag为true则表明str的编码格式是假定的编码格式。其中说明str.getBytes()该方法就是按其自身编码格式去解码。其自身编码格式跟你的操作系统编码格式或你使用的IDE设置的文件的Text
file
encoding有关。