asp.net网站安装教程,工程管理毕业设计代做网站,邯郸网站建设推荐咨询,哪里免费做网站关于split与StringTokenizer的理解 一.split 依据匹配给定的正則表達式来拆分此字符串。此方法返回的数组包括此字符串的子字符串#xff0c;每一个子字符串都由还有一个匹配给定表达式的子字符串终止#xff0c;或者由此字符串末尾终止。数组中的子字符串按它们在此字符串中… 关于split与StringTokenizer的理解 一.split 依据匹配给定的正則表達式来拆分此字符串。此方法返回的数组包括此字符串的子字符串每一个子字符串都由还有一个匹配给定表达式的子字符串终止或者由此字符串末尾终止。数组中的子字符串按它们在此字符串中出现的顺序排列。假设表达式不匹配输入的不论什么部分那么所得数组仅仅具有一个元素即此字符串。 String[] split(String regex,int limit)此方法的运用在API中得非常具体. limit 參数控制模式应用的次数因此影响所得数组的长度。假设该限制 n 大于 0则模式将被最多应用 n - 1 次数组的长度将不会大于 n并且数组的最后一项将包括全部超出最后匹配的定界符的输入。假设 n 为非正那么模式将被应用尽可能多的次数并且数组能够是不论什么长度。假设 n 为 0那么模式将被应用尽可能多的次数数组能够是不论什么长度并且结尾空字符串将被丢弃。 比如字符串 boo:and:foo 使用这些參数可生成下面结果 RegexLimit结果:2{ boo, and:foo }:5{ boo, and, foo }:-2{ boo, and, foo }o5{ b, , :and:f, , }o-2{ b, , :and:f, , }o0{ b, , :and:f } 调用此方法的 str.split(regex, n) 形式与下面表达式产生的结果全然同样 Pattern.compile(regex).split(str, n) 对于字符串的切割处理使用split是想当方便的... 二.StringTokenizer stringtokenizer 类同意应用程序将字符串分解为标记。在该类中包括了几个重要的方法. int CountTokens() 计算在生成异常之前能够调用此 tokenizer 的 nextToken 方法的次数。 boolean hasMoreElements()返回与 hasMoreTokens 方法同样的值。 boolean hasMoreTokens()測试此 tokenizer 的字符串中是否还有很多其它的可用标记。 Object nextElement()除了其声明返回值是 Object 而不是 String 之外它返回与 nextToken 方法同样的值。 String nextToken()返回此 string tokenizer 的下一个标记。 StringTokenizer 是出于兼容性的原因而被保留的遗留类尽管在新代码中并不鼓舞使用它。建议全部寻求此功能的人使用 String 的 split 方法或java.util.regex 包。 三.一个面试题 对一个字符串,单词之间以空格切割,试以单词为单位反序打印(如:I Love China结果为:China Love I) 做的细想通常是将该字符串中的每一个单词保存在String[]里然后反序打印,这里就须要字符串切割的方法了... 使用split: static String str I Love China;public static void splitTest() { String[] result str.split( ,-1); for(int i result.length - 1; i 0; i--) { System.out.print(result[i] ); }} 使用StringTokenizer: static String str I Love China;public static void StringTokenizerTest() { StringTokenizer st new StringTokenizer(str); String[] strArray new String[st.countTokens()]; for (int i strArray.length - 1; i 0; i--) { strArray[i] st.nextToken() ; } for(String s : strArray) { System.out.print(s); }}//看上去此方法有点多此一举,使用split更为方便 转载于:https://www.cnblogs.com/hrhguanli/p/4008063.html