判断字符串string是数字、json结构、xml结构

import org.json.JSONException;
import org.json.JSONObject;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;

public class StringTest {

/**
* @param args
*/
public static void main(String[] args) {
String string1 = "123";
String string2 = "fdgsewe323";
String string3 = "{/"task/":/"324vfsdfg/"}";
String string4 = "<ww>3243</ww>";
// System.out.println("string1::number"+isNumber(string1));
// System.out.println("string2::number"+isNumber(string2));
// System.out.println("string3::json"+isJson(string3));
// System.out.println("string4::xml"+isXML(string4));
// System.out.println("string1::json"+isJson(string1));
// System.out.println("string2::xml"+isXML(string2));
// System.out.println("string3::number"+isNumber(string3));
// System.out.println("string4::xml"+isXML(string4));

System.out.println("string1::"+getType(string1));
System.out.println("string2::"+getType(string2));
System.out.println("string3::"+getType(string3));
System.out.println("string4::"+getType(string4));
}

public static String getType(String string) {
if (isNumber(string))
return "Number";
else if (isJson(string))
return "Json";
else if (isXML(string))
return "xml";
else
return "String";
}


/**
* 判断字符串是否是数字
*/
public static boolean isNumber(String value) {
return isInteger(value) || isDouble(value);
}

/**
* 判断字符串是否是整数
*/
public static boolean isInteger(String value) {
try {
Integer.parseInt(value);
return true;
} catch (NumberFormatException e) {
return false;
}
}

/**
* 判断字符串是否是浮点数
*/
public static boolean isDouble(String value) {
try {
Double.parseDouble(value);
if (value.contains("."))
return true;
return false;
} catch (NumberFormatException e) {
return false;
}
}

/**
* 判断是否是json结构
*/
public static boolean isJson(String value) {
try {
new JSONObject(value);
} catch (JSONException e) {
return false;
}
return true;
}

/**
* 判断是否是xml结构
*/
public static boolean isXML(String value) {
try {
DocumentHelper.parseText(value);
} catch (DocumentException e) {
return false;
}
return true;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值