`
xinklabi
  • 浏览: 1591232 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
文章分类
社区版块
存档分类
最新评论

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

    博客分类:
  • Java
 
阅读更多
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; 
ScriptEngineManager sem = new ScriptEngineManager ();
        ScriptEngine se = sem.getEngineByName ("js");
        String jsonstr = "({name: 1, obj: 3,[dd]})";
        try
        {
            System.out.println (se.eval (jsonstr));
        }
        catch (ScriptException e)
        {
            System.out.println ("json格式有误");
        }

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

return true; 

 

分享到:
评论

相关推荐

    类型转换与字符串拆分

    在编程中,数据有不同的类型,例如整型(int)、浮点型(float)、字符型(char)和字符串型(string)。类型转换允许我们将一种数据类型转换为另一种。例如,当需要进行数学计算时,可能需要将字符串类型的数字转换...

    各种对象转成JSON字符串.pdf

    对于基本数据类型(如`String`, `Integer`, `Float`, `Boolean`, `Short`, `Double`, `Long`, `BigDecimal`, `BigInteger`, `Byte`),它会将对象包装在双引号中。对于数组、列表、映射和集合,它调用相应的辅助方法...

    JSON Plugin.pdf

    根据这个JSON字符串,Action类需要有以下方法: - `setDoubleValue(float or double)`:接收一个浮点数作为参数。 - `setNestedBean(Object)`:接收一个包含`setName(String)`方法的对象。 - `setList(List)`:接收...

    Struts2-Json-Plugin 的使用.docx

    在Struts2中,如果没有使用Struts2-Json-Plugin,开发人员需要手动利用如XStream、Google Gson或Jackson等工具将Java对象转换为JSON字符串,然后将其写入Response。这样做不仅需要编写更多的代码,还需要关注字符集...

    Json-RPC_for_Java使用说明

    - **Numeric Types**:包括`Short`、`Integer`、`Long`、`Float`、`Double`和`BigDecimal`,统一转换为JavaScript的数字对象,支持数学运算。 - **Map**:`java.util.Map`转化为JavaScript的对象字面量,支持属性...

    清华大学精品大数据之数据清洗课程PPT课件(26页)含习题 第2章 数据格式与编码.pptx

    2. **文本类型**(字符和字符串):字符(char)存储单个字符,字符串(String)存储多个字符。 3. **整数类型**(byte、short、int、long):用于存储有符号整数,不同类型有不同的取值范围。 4. **浮点类型**...

    于笑扬java综合知识点总结-必背.pdf

    StringBuffer、StringBuilder 和 String 都是 Java 中的字符串类,但是它们有所不同。String 是不可变的,意味着一旦创建就不能修改。StringBuffer 和 StringBuilder 是可变的,意味着可以修改。StringBuffer 是线程...

    于笑扬java综合知识点总结-必背(吐血推荐).doc

    * String:不可变字符串,所有操作都会生成新的字符串 * StringBuffer:可变字符串,多线程安全,同步锁机制 * StringBuilder:可变字符串,不是线程安全的,但性能高于StringBuffer 五、Hashtable和HashMap的区别 ...

    一个java程序员的经验总结

    正确的做法是先将`BigDecimal`转换为`long`或`int`类型,再根据需求转换为`double`或`float`。 例如: ```java BigDecimal bigDecimal = new BigDecimal("123.45"); int intValue = bigDecimal.intValue(); // 转换...

    Python库 | nbtlib-1.2.2-py3-none-any.whl

    5. **序列化与反序列化**:支持将NBT对象转换为字节流(如JSON或XML),以及从这些格式恢复原始结构。 **使用nbtlib的示例** ```python from nbtlib import load, Compound # 读取NBT文件 with open('example.nbt...

    java面试总结pdf版

    Java有8种基本数据类型:4种整型(byte, short, int, long),2种浮点型(float, double),1种字符型(char),1种布尔型(boolean)。 以上只是部分关键知识点,完整的Java面试总结PDF版应包含了更多关于异常处理...

    avro_tutorial

    1. **简单类型**:如整型(int, long),浮点型(float, double),字符串(string)和布尔型(boolean)。 2. **复杂类型**:包括数组(array)、映射(map)、记录(record)、枚举(enum)和固定(fixed)。 ...

    java面试笔试基础核心总结

    Java有8种基本数据类型:整型(byte、short、int、long)、浮点型(float、double)、字符型(char)和布尔型(boolean)。 16. **冒泡排序** 冒泡排序是一种简单的排序算法,通过不断交换相邻的逆序元素,使最大...

    java综合知识点总结-必背1

    9. **XML和Json的特点**:XML是结构化数据格式,用于数据交换,语法复杂;JSON(JavaScript Object Notation)轻量级,易于读写,更适合网络传输。 10. **request.getSession()的三种形式**:`getSession()`默认...

    C#基础类库大全

    1. **基本数据类型**: C#中的基本数据类型包括整型(如int, byte, short, long)、浮点型(float, double)、字符型(char)、布尔型(bool)、字符串(string)等。这些类型在System命名空间下定义,提供了一系列...

    Java全栈工程师面试宝典.doc

    StringBuffer、StringBuilder 和 String 都是 Java 中的字符串类型,但它们有着不同的特点: * String:不可变的字符串类型,一旦创建便不可更改。 * StringBuffer:可变的字符串类型,可以动态添加或删除字符。 * ...

    java总结,问题,知识点

    - 浮点型:float、double。 - 字符型:char。 - 布尔型:boolean。 以上是Java课程中涉及的一些关键知识点,涵盖从基础语法到高级特性的广泛内容。理解并熟练掌握这些概念对于成为一个合格的Java开发者至关重要...

    java面试题总结11111

    Java有八种基本数据类型:整型(byte、short、int、long)、浮点型(float、double)、字符型(char)和布尔型(boolean)。 **十六、冒泡排序** 冒泡排序是一种简单的排序算法,通过重复遍历待排序数组,比较相邻...

    JAVA面试大全包含绝大部分JAVA程序员面试的问题

    4. 浮点型表示:float类型的变量必须以f或F结尾来表示,因此float f = 3.4f是正确的,但float f = 3.4是错误的,因为3.4是double类型,需要显式转换。 二、OOAD & UML(96-101题,24-25页) 这部分涉及到面向对象...

Global site tag (gtag.js) - Google Analytics