`
decentway
  • 浏览: 160634 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

java字符串处理(分割截取替换等)

 
阅读更多
/**
   * 分割字符串
   *
   * @param str String 原始字符串
   * @param splitsign String 分隔符
   * @return String[] 分割后的字符串数组
   */
@SuppressWarnings("unchecked")
public static String[] split(String str, String splitsign) {
    int index;
    if (str == null || splitsign == null)
      return null;
    ArrayList al = new ArrayList();
    while ((index = str.indexOf(splitsign)) != -1) {
      al.add(str.substring(0, index));
      str = str.substring(index + splitsign.length());
    }
    al.add(str);
    return (String[]) al.toArray(new String[0]);
}

/**
   * 替换字符串
   *
   * @param from String 原始字符串
   * @param to String 目标字符串
   * @param source String 母字符串
   * @return String 替换后的字符串
   */
public static String replace(String from, String to, String source) {
    if (source == null || from == null || to == null)
      return null;
    StringBuffer bf = new StringBuffer("");
    int index = -1;
    while ((index = source.indexOf(from)) != -1) {
      bf.append(source.substring(0, index) + to);
      source = source.substring(index + from.length());
      index = source.indexOf(from);
    }
    bf.append(source);
    return bf.toString();
}

/**
   * 替换字符串,能能够在HTML页面上直接显示(替换双引号和小于号)
   *
   * @param str String 原始字符串
   * @return String 替换后的字符串
   */
public static String htmlencode(String str) {
    if (str == null) {
      return null;
    }

    return replace("\"", "&quot;", replace("<", "&lt;", str));
}

/**
   * 替换字符串,将被编码的转换成原始码(替换成双引号和小于号)
   *
   * @param str String
   * @return String
   */
public static String htmldecode(String str) {
    if (str == null) {
      return null;
    }

    return replace("&quot;", "\"", replace("&lt;", "<", str));
}

private static final String _BR = "<br/>";

/**
   * 在页面上直接显示文本内容,替换小于号,空格,回车,TAB
   *
   * @param str String 原始字符串
   * @return String 替换后的字符串
   */
public static String htmlshow(String str) {
    if (str == null) {
      return null;
    }

    str = replace("<", "&lt;", str);
    str = replace(" ", "&nbsp;", str);
    str = replace("\r\n", _BR, str);
    str = replace("\n", _BR, str);
    str = replace("\t", "&nbsp;&nbsp;&nbsp;&nbsp;", str);
    return str;
}

/**
   * 返回指定字节长度的字符串
   *
   * @param str String 字符串
   * @param length int 指定长度
   * @return String 返回的字符串
   */
public static String toLength(String str, int length) {
    if (str == null) {
      return null;
    }
    if (length <= 0) {
      return "";
    }
    try {
      if (str.getBytes("GBK").length <= length) {
        return str;
      }
    } catch (Exception ex) {
    }
    StringBuffer buff = new StringBuffer();

    int index = 0;
    char c;
    length -= 3;
    while (length > 0) {
      c = str.charAt(index);
      if (c < 128) {
        length--;
      } else {
        length--;
        length--;
      }
      buff.append(c);
      index++;
    }
    buff.append("...");
    return buff.toString();
}

/**
   * 判断是否为整数
   *
   * @param str 传入的字符串
   * @return 是整数返回true,否则返回false
   */
public static boolean isInteger(String str) {
    Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
    return pattern.matcher(str).matches();
}

/**
   * 判断是否为浮点数,包括double和float
   *
   * @param str 传入的字符串
   * @return 是浮点数返回true,否则返回false
   */
public static boolean isDouble(String str) {
    Pattern pattern = Pattern.compile("^[-\\+]?[.\\d]*$");
    return pattern.matcher(str).matches();
}

/**
   * 判断输入的字符串是否符合Email样式.
   *
   * @param str 传入的字符串
   * @return 是Email样式返回true,否则返回false
   */
public static boolean isEmail(String str) {
    Pattern pattern = Pattern.compile("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$");
    return pattern.matcher(str).matches();
}

/**
   * 判断输入的字符串是否为纯汉字
   *
   * @param str 传入的字符窜
   * @return 如果是纯汉字返回true,否则返回false
   */
public static boolean isChinese(String str) {
    Pattern pattern = Pattern.compile("[\u0391-\uFFE5]+$");
    return pattern.matcher(str).matches();
}

/**
   * 是否为空白,包括null和""
   *
   * @param str
   * @return
   */
public static boolean isBlank(String str) {
    return str == null || str.trim().length() == 0;
}

/**
* 判断是不是合法手机
* handset 手机号码
*/
public static boolean isHandset(String handset) {
try {
   if(!handset.substring(0,1).equals("1")) {
    return false;
   }
   if (handset==null || handset.length()!=11) {
    return false;
   }
   String check = "^[0123456789]+$";
   Pattern regex = Pattern.compile(check);
   Matcher matcher = regex.matcher(handset);
   boolean isMatched = matcher.matches();
   if(isMatched) {
    return true;
   } else {
    return false;
   }
} catch (RuntimeException e) {
   return false;
}
}
}

 

分享到:
评论

相关推荐

    截取字符串

    这个小demo展示了如何在不同的编程环境中实现字符串截取,同时也涉及到字符串的空格处理。接下来,我们将深入探讨这两个主题。 首先,让我们讨论字符串截取。在大多数编程语言中,都有内置的函数或方法来实现字符串...

    java 分割字符串

    在Java编程语言中,分割字符串是一...总之,Java的`split()`方法是处理字符串的强大工具,结合正则表达式,能够灵活地处理各种字符串分割需求。在实际开发中,我们需要熟练掌握这一功能,以提高代码的效率和可维护性。

    java中常用的字符串的截取方法

    字符串截取可以用于获取字符串中的部分内容,或者将字符串分割成多个部分。本文将详细介绍 Java 中常用的字符串截取方法,包括 length()、charAt()、getChars()、getBytes()、toCharArray() 等。 1.length() 方法 ...

    JAVA 字符串应用笔记

    字符串主要用于处理文本信息,如用户输入、文件内容、网络数据等。以下是对"JAVA 字符串应用笔记"中可能涉及的一些核心知识点的详细阐述: 1. **字符串对象创建**: Java中有两种创建字符串的方式:`new String()`...

    关于java按字节截取带有汉字的字符串的解法

    在Java编程语言中,处理带有汉字的字符串时,由于汉字占据多个字节,按照字节进行截取可能会导致汉字被不完整地分割,从而产生乱码。为了解决这个问题,我们需要理解Unicode编码以及如何在Java中正确处理多字节字符...

    Java 字符串操作源码实例集.rar

    这些基本操作是Java字符串处理的核心。通过实践这些实例,初学者可以更好地理解字符串操作的原理和用法,为以后的开发打下坚实基础。在压缩包中找到的"codesc.net"可能是包含这些实例代码的文件,打开并运行这些代码...

    工具类_字符串处理

    字符串操作还包括截取、拼接、替换、查找子串等。在很多语言中,这些操作都有相应的API提供,如Java的`substring()`、`concat()`、`replace()`和`indexOf()`等。在处理大量字符串时,效率是需要考虑的重要因素,因此...

    String 字符串截取,获得指定字符数量,截取String两个内容之前内容并去重.pdf

    通过将字符串分割成多个部分,然后将这些部分存入HashSet中,重复的部分自然就会被过滤掉。例如: ```java String str = "Hello, World! World!"; String[] parts = str.split(" "); // 将字符串按空格分割成数组 ...

    java按字节截取带有汉字的字符串的解法(推荐)

    在Java编程语言中,处理包含汉字的字符串时,由于汉字在不同编码格式下占用的字节数不同,按字节截取字符串会面临特殊挑战。本文将深入探讨如何正确地按字节截取带有汉字的字符串,以确保不出现半字符或者乱码的情况...

    HexStrToInt.zip_字符串处理_字符串的处理

    在IT行业中,字符串处理是一项基础且重要的技能,广泛应用于编程、数据分析、文本处理等领域。"HexStrToInt.zip"这个压缩包文件显然与字符串处理有关,特别是涉及到字符串与数值之间的转换,尤其是从十六进制字符串...

    JAVA字符串中所用的方法.rar

    以上是Java字符串处理中常用的一些方法,熟练掌握它们将极大地提升代码的效率和质量。通过深入理解和应用这些方法,开发者可以更好地处理和操纵字符串,满足各种编程需求。在实际开发中,我们应根据具体场景选择合适...

    java字符串和数组基础共21页.pdf.zip

    Java字符串和数组是Java编程语言中的基本概念,对于任何Java开发者来说,理解和掌握它们都是至关重要的。在这21页的PDF教程中,我们很可能会深入探讨这两个核心主题。 首先,让我们来谈谈Java中的字符串。在Java中...

    Java字符串及数组操作的实例源码

    例如,`String.split().stream()`可以将字符串分割后的数组转换为流,然后通过`map()`、`filter()`等方法进行进一步处理,最后用`collect()`方法将结果收集到新的集合中。 总之,这个"Java字符串及数组操作的实例...

    字符串处理工具

    4. **字符串分割**:`split()`函数允许我们根据分隔符将字符串拆分成多个子串,形成字符串列表。 5. **排序**:对于包含多个单词的字符串,可以先使用`split()`拆分,再对结果进行排序,最后用`join()`组合回字符串...

    Java练习字符串课题的源码

    这些知识点是Java字符串处理的基础,通过实践这些源码,学生可以更好地理解字符串的使用和性能优化。对于初学者来说,理解和掌握这些概念对于提升编程技能至关重要。通过分析和运行这些代码,你可以更深入地了解Java...

    java常用字符串方法网络收集txt版

    以上只是Java字符串处理的一部分知识点,实际开发中还有很多高级用法和技巧,比如正则表达式匹配、字符串缓冲区的高效使用等,都值得深入研究。这份“java常用字符串方法网络收集txt版”资料,无疑为学习和查阅这些...

    第8章 字符串处理

    7. **字符串分割**:`split()`方法是将字符串按照指定的分隔符切割成多个子串,返回一个字符串数组。这对于处理CSV数据、日志文件等非常有用。 8. **格式化字符串**:在C家族语言中,`printf`和`scanf`系列函数用于...

Global site tag (gtag.js) - Google Analytics