如何认识自己才能实现自己向匿名过程中传入一个很长的字符串

java 中用split分割字符串,最后的空格等不被拆分的方法-android100学习网
java 中用split分割字符串,最后的空格等不被拆分的方法
在使用java中的split按照“ ”,拆分字符串的时候,发现如果最后的几个字段是空,只是用 分割,是连着的 的话,就不会被分割,如 “d c e
”最后的几个 就不会被分割...
在使用java中的split按照“ ”,拆分字符串的时候,发现如果最后的几个字段是空,只是用 分割,是连着的 的话,就不会被分割,如 “d c e
”最后的几个 就不会被分割,应该是在拆分之前对字符串进行了处理。
导致的拆分字段个数错误。查了一下APi,需要在split中添加参数-1,String[] values = line.split(" ",-1);
imit 参数控制应用模式的次数,从而影响结果数组的长度
如果限制 n 大于零,那么模式至多应用 n& - 1 次,数组的长度不大于 n,并且数组的最后条目将包含除最后的匹配定界符之外的所有输入
如果 n 非正,那么将应用模式的次数不受限制,并且数组可以为任意长度
如果 n 为零,那么应用模式的次数不受限制,数组可以为任意长度,并且将丢弃尾部空字符串
(就是这个原因)
添加上参数-1之后,就正常了。
以上这篇java 中用split分割字符串,最后的空格等不被拆分的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。Java编程基础007-统计字符串中字母、空格、数字和其它字符的个数
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
import&java.util.S
public&class&Test007&{
public&static&void&main(String[]&args)&{
int&englishCount&=&0;//&英文字母个数
int&spaceCount&=&0;//&空格个数
int&numCount&=&0;//&数字个数
&&&&&&&&int&otherCount&=&0;//&其他字符个数
Scanner&sc&=&new&Scanner(System.in);
System.out.println("请您输入一行字符:");
String&str&=&sc.nextLine();//&取得控制台输入的一行字符
char[]&ch&=&str.toCharArray();//&把取道的字符串变成一个char数组
for&(int&i&=&0;&i&&&ch.length;&i++)&{
&&&&&&&&&&&
if&(Character.isLetter(ch[i]))&{
&&&&&&&&&&&&&&&
//&判断是否为字母
&&&&&&&&&&&&&&&
englishCount++;
&&&&&&&&&&&
}&else&if&(Character.isSpaceChar(ch[i]))&{
&&&&&&&&&&&&&&&
//&判断是否为空格
&&&&&&&&&&&&&&&
spaceCount++;
&&&&&&&&&&&
}&else&if&(Character.isDigit(ch[i]))&{
&&&&&&&&&&&&&&&
//&判断是否为数字
&&&&&&&&&&&&&&&
numCount++;
&&&&&&&&&&&
&&&&&&&&&&&&&&&
//&以上都不是则认为是其他字符
&&&&&&&&&&&&&&&
otherCount++;
&&&&&&&&&&&
System.out.println("字母的个数:"&+&englishCount);
System.out.println("数字的个数:"&+&numCount);
System.out.println("空格的个数:"&+&spaceCount);
&&&&&&&&System.out.println("其他字符的个数:"&+&otherCount);
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。7232人阅读
java 学习笔记(10)
随便给你一个含有数字的字符串,比如:
String s=&eert343dfg56756dtry66fggg89dfgf&;
那我们如何把其中的数字提取出来呢?大致有以下几种方法,正则表达式,集合类,还有就是String类提供的方法。
1&String类提供的方法:
package 测试练习;
import java.util.*;
public class get_StringNum {
public static void main(String[] args) {
String str = &love23next234csdn3423javaeye&;
str=str.trim();
String str2=&&;
if(str != null && !&&.equals(str)){
for(int i=0;i&str.length();i++){
if(str.charAt(i)&=48 && str.charAt(i)&=57){
str2+=str.charAt(i);
System.out.println(str2);
这个方法有个明显的缺点,只能把数字全部提取到一起,不能分别提取。当然也可以改进,有兴趣的朋友可以试试。
2 正则表达式
import java.util.*;
import java.util.regex.M
import java.util.regex.P
public class get_StringNum {
public static void main(String[] args) {
String a=&love23next234csdn3423javaeye&;
String regEx=&[^0-9]&;
Pattern p = pile(regEx);
Matcher m = p.matcher(a);
System.out.println( m.replaceAll(&&).trim());
Pattern ,Matcher是java.util.regex软件包里的两个类,具体用法大家可以查阅一下api。同样也不能单个提取数字。
3 集合类库
import java.util.*;
import java.util.regex.M
import java.util.regex.P
public class get_StringNum {
public static void main(String[] args) {
String a=&love23next234csdn3423javaeye&;
List&String& digitList = new ArrayList&String&();
Pattern p = pile(&[^0-9]&);
Matcher m = p.matcher(a);
String result = m.replaceAll(&&);
for (int i = 0; i & result.length(); i++) {
digitList.add(result.substring(i, i+1));
System.out.println(digitList);
[2, 3, 2, 3, 4, 3, 4, 2, 3]
相同的思路:
import java.util.*;
import java.util.regex.M
import java.util.regex.P
public class get_StringNum {
public static void main(String[] args) {
String a=&love23next234csdn3423javaeye&;
List&String& ss = new ArrayList&String&();
for(String sss:s.replaceAll(&[^0-9]&, &,&).split(&,&)){
if (sss.length()&0)
ss.add(sss);
System.out.print(ss);
[2, 3, 2, 3, 4, 3, 4, 2, 3]
很明显,利用正则表达式我们就可以分别提取数字了。
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:337083次
积分:3991
积分:3991
排名:第7065名
原创:68篇
转载:51篇
评论:70条
(1)(1)(3)(1)(1)(3)(3)(3)(9)(1)(1)(4)(7)(6)(4)(9)(2)(8)(4)(11)(5)(1)(1)(2)(56)

我要回帖

更多关于 怎样才能实现中国梦 的文章

 

随机推荐