public class StrTokenizerTest {
public static void main(String[] args) {
StringTokenizer fenxi = new StringTokenizer("a ooo@sina.com","@");
int n = fenxi.countTokens();
System.out.println(n);
}
}
对于这种情况"@"不加空格得到的是2
如果加上空格StringTokenizer fenxi = new StringTokenizer("a ooo@sina.com"," @");
得到的结果就是3
想知道StringTokenizer的这个对于CountTokens的返回值是可以理解被分隔符分了多少份的吧?
还有就是对于加不加空格的这个问题。
9 个解决方案
#1
StringTokenizer fenxi = new StringTokenizer("a ooo@sina.com"," @");
后面那个" @"表示的是分隔符,就是以空格和@将字符串分隔成一个个的Token
如果你不加空格,就是只以@作为分隔符。
当然你也可以写其他的,比如 ",. @"
后面那个" @"表示的是分隔符,就是以空格和@将字符串分隔成一个个的Token
如果你不加空格,就是只以@作为分隔符。
当然你也可以写其他的,比如 ",. @"
#2
我只会用 string 的 .split 方法。。。
#3
"后面那个" @"表示的是分隔符,就是以空格和@将字符串分隔成一个个的Token”
你说的意思是这样的StringTokenizer fenxi = new StringTokenizer("aooo @sina.com"," @");
这样得到的是2,这个肯定没有问题,就是正常理解
可是StringTokenizer fenxi = new StringTokenizer("ao oo@sina.com"," @");这种情况就是3了
而 StringTokenizer fenxi = new StringTokenizer("ao oo@sina.com","@");这种情况是2
我是想知道这个是怎么回事
你说的意思是这样的StringTokenizer fenxi = new StringTokenizer("aooo @sina.com"," @");
这样得到的是2,这个肯定没有问题,就是正常理解
可是StringTokenizer fenxi = new StringTokenizer("ao oo@sina.com"," @");这种情况就是3了
而 StringTokenizer fenxi = new StringTokenizer("ao oo@sina.com","@");这种情况是2
我是想知道这个是怎么回事
#4
引号里面每个字符都是分隔符,不是说他俩在一起才是分隔符。
#5
想知道StringTokenizer的这个对于CountTokens的返回值是可以理解被分隔符分了多少份的吧?
是的
还有就是对于加不加空格的这个问题。
给定的分隔符字符串中(第二个参数),每一个字符都是一个分隔符,而不是整个字符串是一个分隔符。所以加空格后,就表示当前有两个分隔符,空格和@。
是的
还有就是对于加不加空格的这个问题。
给定的分隔符字符串中(第二个参数),每一个字符都是一个分隔符,而不是整个字符串是一个分隔符。所以加空格后,就表示当前有两个分隔符,空格和@。
#6
StringTokenizer fenxi = new StringTokenizer("a ooo@sina.com"," @");
这种情况下的分隔符就是" "和"@",解析的结果为:a、ooo、sina.com
而 StringTokenizer fenxi = new StringTokenizer("a ooo@sina.com","@");
这种情况下的分隔符就只有"@",解析的结果为:a ooo和sina.com
StringTokenizer的构造函数有以下三种:
public StringTokenizer(String str):构造一个用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”
public StringTokenizer(String str, String delim):构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符。
public StringTokenizer(String str, String delim, boolean returnDelims):构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符,同时,指定是否返回分隔符。
第一个参数就是要分隔的String,第二个是分隔字符集合,第三个参数表示分隔符号是否作为标记返回,如果不指定分隔字符,默认的是:”\t\n\r\f”;
fenxi.countTokens();返回nextToken方法被调用的次数。如果采用构造函数1和2,返回的就是分隔符数量,采用有三个参数的构造函数就要加上分隔符本身如:
package com.shine.test;
import java.util.StringTokenizer;
public class StrTokenizerTest {
public static void main(String[] args) {
StringTokenizer fenxi = new StringTokenizer("a ooo@sina.com", " @",true);
int n = fenxi.countTokens();
System.out.println(n);
while (fenxi.hasMoreTokens()) {
System.out.println(fenxi.nextToken());
}
}
}
结果为:
5
a
ooo
@
sina.com
这种情况下的分隔符就是" "和"@",解析的结果为:a、ooo、sina.com
而 StringTokenizer fenxi = new StringTokenizer("a ooo@sina.com","@");
这种情况下的分隔符就只有"@",解析的结果为:a ooo和sina.com
StringTokenizer的构造函数有以下三种:
public StringTokenizer(String str):构造一个用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”
public StringTokenizer(String str, String delim):构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符。
public StringTokenizer(String str, String delim, boolean returnDelims):构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符,同时,指定是否返回分隔符。
第一个参数就是要分隔的String,第二个是分隔字符集合,第三个参数表示分隔符号是否作为标记返回,如果不指定分隔字符,默认的是:”\t\n\r\f”;
fenxi.countTokens();返回nextToken方法被调用的次数。如果采用构造函数1和2,返回的就是分隔符数量,采用有三个参数的构造函数就要加上分隔符本身如:
package com.shine.test;
import java.util.StringTokenizer;
public class StrTokenizerTest {
public static void main(String[] args) {
StringTokenizer fenxi = new StringTokenizer("a ooo@sina.com", " @",true);
int n = fenxi.countTokens();
System.out.println(n);
while (fenxi.hasMoreTokens()) {
System.out.println(fenxi.nextToken());
}
}
}
结果为:
5
a
ooo
@
sina.com
#7
非常感谢各位,现在明白了。。。abc41106回复了两次。。 Njdezhang说的就比较明了了,一句话到位。。
linjiafu更不说了。。
linjiafu更不说了。。
#8
那对不起啦。。。。。。。。
是我高估了自己的语言组织水平和你的理解能力。。
#9
哈哈,还是很感谢的啊。可能我也没表达好,我的意思是让你费事说了两次。。。
#1
StringTokenizer fenxi = new StringTokenizer("a ooo@sina.com"," @");
后面那个" @"表示的是分隔符,就是以空格和@将字符串分隔成一个个的Token
如果你不加空格,就是只以@作为分隔符。
当然你也可以写其他的,比如 ",. @"
后面那个" @"表示的是分隔符,就是以空格和@将字符串分隔成一个个的Token
如果你不加空格,就是只以@作为分隔符。
当然你也可以写其他的,比如 ",. @"
#2
我只会用 string 的 .split 方法。。。
#3
"后面那个" @"表示的是分隔符,就是以空格和@将字符串分隔成一个个的Token”
你说的意思是这样的StringTokenizer fenxi = new StringTokenizer("aooo @sina.com"," @");
这样得到的是2,这个肯定没有问题,就是正常理解
可是StringTokenizer fenxi = new StringTokenizer("ao oo@sina.com"," @");这种情况就是3了
而 StringTokenizer fenxi = new StringTokenizer("ao oo@sina.com","@");这种情况是2
我是想知道这个是怎么回事
你说的意思是这样的StringTokenizer fenxi = new StringTokenizer("aooo @sina.com"," @");
这样得到的是2,这个肯定没有问题,就是正常理解
可是StringTokenizer fenxi = new StringTokenizer("ao oo@sina.com"," @");这种情况就是3了
而 StringTokenizer fenxi = new StringTokenizer("ao oo@sina.com","@");这种情况是2
我是想知道这个是怎么回事
#4
引号里面每个字符都是分隔符,不是说他俩在一起才是分隔符。
#5
想知道StringTokenizer的这个对于CountTokens的返回值是可以理解被分隔符分了多少份的吧?
是的
还有就是对于加不加空格的这个问题。
给定的分隔符字符串中(第二个参数),每一个字符都是一个分隔符,而不是整个字符串是一个分隔符。所以加空格后,就表示当前有两个分隔符,空格和@。
是的
还有就是对于加不加空格的这个问题。
给定的分隔符字符串中(第二个参数),每一个字符都是一个分隔符,而不是整个字符串是一个分隔符。所以加空格后,就表示当前有两个分隔符,空格和@。
#6
StringTokenizer fenxi = new StringTokenizer("a ooo@sina.com"," @");
这种情况下的分隔符就是" "和"@",解析的结果为:a、ooo、sina.com
而 StringTokenizer fenxi = new StringTokenizer("a ooo@sina.com","@");
这种情况下的分隔符就只有"@",解析的结果为:a ooo和sina.com
StringTokenizer的构造函数有以下三种:
public StringTokenizer(String str):构造一个用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”
public StringTokenizer(String str, String delim):构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符。
public StringTokenizer(String str, String delim, boolean returnDelims):构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符,同时,指定是否返回分隔符。
第一个参数就是要分隔的String,第二个是分隔字符集合,第三个参数表示分隔符号是否作为标记返回,如果不指定分隔字符,默认的是:”\t\n\r\f”;
fenxi.countTokens();返回nextToken方法被调用的次数。如果采用构造函数1和2,返回的就是分隔符数量,采用有三个参数的构造函数就要加上分隔符本身如:
package com.shine.test;
import java.util.StringTokenizer;
public class StrTokenizerTest {
public static void main(String[] args) {
StringTokenizer fenxi = new StringTokenizer("a ooo@sina.com", " @",true);
int n = fenxi.countTokens();
System.out.println(n);
while (fenxi.hasMoreTokens()) {
System.out.println(fenxi.nextToken());
}
}
}
结果为:
5
a
ooo
@
sina.com
这种情况下的分隔符就是" "和"@",解析的结果为:a、ooo、sina.com
而 StringTokenizer fenxi = new StringTokenizer("a ooo@sina.com","@");
这种情况下的分隔符就只有"@",解析的结果为:a ooo和sina.com
StringTokenizer的构造函数有以下三种:
public StringTokenizer(String str):构造一个用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”
public StringTokenizer(String str, String delim):构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符。
public StringTokenizer(String str, String delim, boolean returnDelims):构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符,同时,指定是否返回分隔符。
第一个参数就是要分隔的String,第二个是分隔字符集合,第三个参数表示分隔符号是否作为标记返回,如果不指定分隔字符,默认的是:”\t\n\r\f”;
fenxi.countTokens();返回nextToken方法被调用的次数。如果采用构造函数1和2,返回的就是分隔符数量,采用有三个参数的构造函数就要加上分隔符本身如:
package com.shine.test;
import java.util.StringTokenizer;
public class StrTokenizerTest {
public static void main(String[] args) {
StringTokenizer fenxi = new StringTokenizer("a ooo@sina.com", " @",true);
int n = fenxi.countTokens();
System.out.println(n);
while (fenxi.hasMoreTokens()) {
System.out.println(fenxi.nextToken());
}
}
}
结果为:
5
a
ooo
@
sina.com
#7
非常感谢各位,现在明白了。。。abc41106回复了两次。。 Njdezhang说的就比较明了了,一句话到位。。
linjiafu更不说了。。
linjiafu更不说了。。
#8
那对不起啦。。。。。。。。
是我高估了自己的语言组织水平和你的理解能力。。
#9
哈哈,还是很感谢的啊。可能我也没表达好,我的意思是让你费事说了两次。。。