关于String的常用方法收集

package StringHandle;
/**
 * Title:        Java Bean 工具
 * Description:
 * Copyright:    Copyright (c) 2001
 * Company:      JAVA世纪网 http://www.java2000.net
 * @author 赵学庆+cf
 * @version 1.0
 */
import java.util.*;
import java.util.regex.Pattern;

public class CopyOfStrTools {
  /**
   * 分割字符串
   *
   * @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 string 你原来的字符串
   * @param from 开始位置
   * @param to 结束位置
   * @param pattern 你要换成什么
   * @return
   */    
  public static String replace(String string, int from, int to, String pattern) {
      StringBuilder builder = new StringBuilder();

      builder.append(string.substring(0, from));
      builder.append(pattern);
      builder.append(string.substring(to + 1));

      return builder.toString();
  }


  /**
   * 替换字符串,在source字符串里面,把from字符串都替换成to字符串
   *
   * @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);//接下去 再看看 还有没有 这个from 有就 !=-1 再替换,
    }
    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;
  }

  /**
   * 返回指定字节长度的字符串(字符串给你,你只能输出比如说前10个字节)
   *
   * @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;
    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;
  }

 
  /**
   * 判断任意一个整数是否素数
   *
   * @param n
   * @return boolean
   */
  public static boolean isPrimes(int n)
  {
      for (int i = 2; i <= Math.sqrt(n); i++)
      {
          if (n % i == 0)
          {
              return false;
          }
      }
      return true;
  }

 /**
  *
  * @param x 打印一个字符串数组
  */
  public static void oneintprint(String x[]) {
  for (int y = 0; y < x.length; y++) {
   System.out.print("数组[" + y + "] = " + x[y] + "/t");
  }
  System.out.println("");
 }
 

  public static void main(String[] args) {
  
    System.out.println(CopyOfStrTools.isPrimes(11));
   
   
   
   
  }
}

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭