教程集 www.jiaochengji.com
教程集 >  脚本编程  >  java  >  正文 java String字符串解析实例整理

java String字符串解析实例整理

发布时间:2016-11-27   编辑:jiaochengji.com
教程集为您提供java String字符串解析实例整理等资源,欢迎您收藏本站,我们将为您提供最新的java String字符串解析实例整理资源
字符串是java中一个比较重要的数据类型,下面我们一起来看java string字符串解析实例及一些常用字符串操作函数整理。

字符串解析类

<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy9106')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy9106>

StringTokenizer tokenizer = new StringTokenizer(number, ",");
        boolean bool = true;
        while (tokenizer.hasMoreTokens()) {
            try {
                Double.valueOf(tokenizer.nextToken());
            } catch (Exception e) {
                bool = false;
            }
        }
//将字符串转化为数组的方法
int gv[];
   int i = 0; 
   StringTokenizer tokenizer = new StringTokenizer(goodsVolume, ",, ");
         gv = new int[tokenizer.countTokens()];//动态的决定数组的长度
     while (tokenizer.hasMoreTokens()) {
        String d = tokenizer.nextToken();
        gv[i] = Integer.valueOf(d);//将字符串转换为整型
        i ;
    }
 //字符串解析
    private String[] stringAnalytical(String str, String divisionChar) {
        String string[];
       int i = 0; 
        StringTokenizer tokenizer = new StringTokenizer(str, divisionChar);
        string = new String[tokenizer.countTokens()];// 动态的决定数组的长度
         while (tokenizer.hasMoreTokens()) {
            string[i] = new String();
            string[i] = tokenizer.nextToken();
            i ;
        }
        return string;// 返回字符串数组
    }
 int countTokens() 
          计算在生成异常之前可以调用此 tokenizer 的 nextToken 方法的次数。 
 boolean hasMoreElements() 
          返回与 hasMoreTokens 方法相同的值。 
 boolean hasMoreTokens() 
          测试此 tokenizer 的字符串中是否还有更多的可用标记。 
 Object nextElement() 
          除了其声明返回值是 Object 而不是 String 之外,它返回与 nextToken 方法相同的值。 
 String nextToken() 
          返回此 string tokenizer 的下一个标记。 
 String nextToken(String delim) 
          返回此 string tokenizer 的字符串中的下一个标记。 
public class StringAnalytical {
    // 字符串解析,将字符串转根据分割符换成字符串数组
    private String[] stringAnalytical(String string, char c) {
        int i = 0;
        int count = 0;
        if (string.indexOf(c) == -1)
            return new String[] { string };// 如果不含分割符则返回字符本身
        char[] cs = string.toCharArray();
        int length = cs.length;
        for (i = 1; i < length - 1; i ) {// 过滤掉第一个和最后一个是分隔符的情况
            if (cs[i] == c) {
                count ;// 得到分隔符的个数
            }
        }
        String[] strArray = new String[count 1];
        int k = 0, j = 0;
        String str = string;
        if ((k = str.indexOf(c)) == 0)// 去掉第一个字符是分隔符的情况
            str = str.substring(k 1);
        if (str.indexOf(c) == -1)// 检测是否含分隔符,如果不含则返回字符串
            return new String[] { str };
        while ((k = str.indexOf(c)) != -1) {// 字符串含分割符的时候
            strArray[j ] = str.substring(0, k);
            str = str.substring(k 1);
            if ((k = str.indexOf(c)) == -1 && str.length() > 0)
                strArray[j ] = str.substring(0);
        }
        return strArray;
    }
    public void printString(String[] s) {
        System.out.println("*********************************");
        for (String str : s)
            System.out.println(str);
    }
    public static void main(String[] args) {
        String[] str = null;
        StringAnalytical string = new StringAnalytical();
        str = string.stringAnalytical("1aaa", '@');
        string.printString(str);
        str = string.stringAnalytical("2aaa@", '@');
        string.printString(str);
        str = string.stringAnalytical("@3aaa", '@');
        string.printString(str);
        str = string.stringAnalytical("4aaa@bbb", '@');
        string.printString(str);
        str = string.stringAnalytical("@5aaa@bbb", '@');
        string.printString(str);
        str = string.stringAnalytical("6aaa@bbb@", '@');
        string.printString(str);
        str = string.stringAnalytical("@7aaa@", '@');
        string.printString(str);
        str = string.stringAnalytical("@8aaa@bbb@", '@');
        string.printString(str);
        str = string.stringAnalytical("@9aaa@bbb@ccc", '@');
        string.printString(str);
        str = string.stringAnalytical("@10aaa@bbb@ccc@eee", '@');
        string.printString(str);
    }
}

常用的字符串函数

substring()

它有两种形式,第一种是:String substring(int startIndex)
第二种是:String substring(int startIndex,int endIndex)

concat() 连接两个字符串

replace() 替换
它有两种形式,第一种形式用一个字符在调用字符串中所有出现某个字符的地方进行替换,形式如下:
String replace(char original,char replacement)
例如:String s=”Hello”.replace(’l',’w');
第二种形式是用一个字符序列替换另一个字符序列,形式如下:
String replace(CharSequence original,CharSequence replacement)

trim() 去掉起始和结尾的空格

valueOf() 转换为字符串

toLowerCase() 转换为小写

toUpperCase() 转换为大写

length() 取得字符串的长度
例:
char chars[]={’a',’b’.’c'};
String s=new String(chars);
int len=s.length();

charAt() 截取一个字符
例:
char ch;
ch=”abc”.charAt(1);
返回值为’b’

getChars() 截取多个字符
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
sourceStart 指定了子串开始字符的下标
sourceEnd 指定了子串结束后的下一个字符的下标。因此,子串包含从sourceStart到sourceEnd-1的字符。
target 指定接收字符的数组
targetStart target中开始复制子串的下标值
例:
String s=”this is a demo of the getChars method.”;
char buf[]=new char[20];
s.getChars(10,14,buf,0);

getBytes()
替代getChars()的一种方法是将字符存储在字节数组中,该方法即getBytes()
例:
String s = “Hello!你好!”;
byte[] bytes = s.getBytes();

toCharArray()
例:
String s = “Hello!你好!”;
char[] ss = s.toCharArray();

equals()和equalsIgnoreCase() 比较两个字符串

regionMatches() 用于比较一个字符串中特定区域与另一特定区域,它有一个重载的形式允许在比较中忽略大小写。
boolean regionMatches(int startIndex,String str2,int
str2StartIndex,int numChars)
boolean regionMatches(boolean ignoreCase,int startIndex,String
str2,int str2StartIndex,int numChars)

startsWith()和endsWith()
startsWith()方法决定是否以特定字符串开始,endWith()方法决定是否以特定字符串结束

equals()和==
equals()方法比较字符串对象中的字符,==运算符比较两个对象是否引用同一实例。
例:String s1=”Hello”;
String s2=new String(s1);
s1.eauals(s2); //true
s1==s2;//false

compareTo()和compareToIgnoreCase() 比较字符串

indexOf()和lastIndexOf()
indexOf() 查找字符或者子串第一次出现的地方。
lastIndexOf() 查找字符或者子串是后一次出现的地方。

StringBuffer构造函数
StringBuffer定义了三个构造函数:
StringBuffer()
StringBuffer(int size)
StringBuffer(String str)
StringBuffer(CharSequence chars)

下面是StringBuffer相关的函数:
length()和capacity()
一个StringBuffer当前长度可通过length()方法得到,而整个可分配空间通过capacity()方法得到。

ensureCapacity() 设置缓冲区的大小
void ensureCapacity(int capacity)

setLength() 设置缓冲区的长度
void setLength(int len)

charAt()和setCharAt()
char charAt(int where)
void setCharAt(int where,char ch)

getChars()
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)

append() 可把任何类型数据的字符串表示连接到调用的StringBuffer对象的末尾。
例:int a=42;
StringBuffer sb=new StringBuffer(40);
String s=sb.append(”a=”).append(a).append(”!”).toString();

insert() 插入字符串
StringBuffer insert(int index,String str)
StringBuffer insert(int index,char ch)
StringBuffer insert(int index,Object obj)
index指定将字符串插入到StringBuffer对象中的位置的下标。

reverse() 颠倒StringBuffer对象中的字符
StringBuffer reverse()

delete()和deleteCharAt() 删除字符
StringBuffer delete(int startIndex,int endIndex)
StringBuffer deleteCharAt(int loc)

replace() 替换
StringBuffer replace(int startIndex,int endIndex,String str)

substring() 截取子串
String substring(int startIndex)
String substring(int startIndex,int endIndex

您可能感兴趣的文章:
java String字符串解析实例整理
java入门篇-数据类型
java中将字符串(String)转换为整型
python与java用途区别有哪些
php正则表达式常用函数介绍
php 字符串函数教程与实例代码
php字符串操作函数入门篇
Java数据库字符国际化
PHP字符串函数与使用分析
学习javascipt的正则表达式

[关闭]
~ ~