Java中终极字符串处理办法

应用过程中,java中scanner提供的方法虽多,但是实用的没有几个,

总结如下:
1、获取字符串的长度
length()
2 、判断字符串的前缀或后缀与已知字符串是否相同
前缀 startsWith(String s)
后缀 endsWith(String s)
3、比较两个字符串
equals(String s)
4、把字符串转化为相应的数值
int 型 Integer.parseInt(字符串)
long 型 Long.parseLong(字符串)
float 型 Folat.valueOf(字符串).floatValue()
double 型 Double.valueOf(字符串).doubleValue()
5、将数值转化为字符串
valueOf(数值)
6、字符串检索
indexOf(Srting s) 从头开始检索
indexOf(String s ,int startpoint) 从startpoint 处开始检索
如果没有检索到,将返回-1
7、得到字符串的子字符串
substring(int startpoint) 从startpoint 处开始获取
substring(int start,int end) 从start 到end 中间的字符
8、替换字符串中的字符,去掉字符串前后空格
replace(char old,char new) 用new 替换old
trim()
9、分析字符串
StringTokenizer(String s) 构造一个分析器,使用默认分隔字符(空格,换行,回车,Tab,进纸符)
StringTokenizer(String s,String delim) delim是自己定义的分隔符
nextToken() 逐个获取字符串中的语言符号
boolean hasMoreTokens() 只要字符串还有语言符号将返回true,否则返回false
countTokens() 得到一共有多少个语言符号

@parm 在处理多个文件,或者说有规律文件时。同时需要截取多个数据在集合中做处理。读取的办法 走单行读取 后期处理麻烦,我的建议是使用正则表达式
优点:省时省力
涉及到的类
StringTokenizer
String
pattern
matcher;
···
package core.java.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**

  • @author DGW

  • @date 2017 2017年4月16日 下午3:21:02

  • @filename ScannerClass.java
    /
    @SuppressWarnings("unused")
    public class ScannerClass {
    public static void main(String[] args) throws FileNotFoundException {
    /

    * StringTokenizer(String s) 构造一个分析器,
    * 使用默认分隔字符(空格,换行,回车,Tab,进纸符)
    * 在处理有规律的文件数据时,可以采用分析字符串p
    */
    String str="123123,21321213,2321321";
    StringTokenizer tokenizer = new StringTokenizer(str);
    while (tokenizer.hasMoreElements()) {
    System.out.println(tokenizer.nextToken(","));
    }

     //替代方法2   第二参数可以指定分割的个数
     String[] split = str.split(",",2);
     for (int i = 0; i < split.length; i++) {
         System.out.println(split[i]);
     }
      //理由正则表达式匹配
     String rex="\\,";
     Pattern pattern=Pattern.compile(rex);
     String[] strings = pattern.split(str);
     for (int i = 0; i < strings.length; i++) {
         System.out.println(strings[i]);
     }
     Matcher matcher = pattern.matcher(str);
     System.out.println(matcher.find());
    

    }

    public static void example2() throws FileNotFoundException {
    /*
    * 扫描文件输出
    */
    FileInputStream fileInput = new FileInputStream(
    new File("E:\WorkSpace\JavaCoreApi\src\core\java\lang\StringClass.java"));
    Scanner input = new Scanner(fileInput);
    while (input.hasNext()) {
    System.out.println(input.next());
    }
    input.close();
    }

    private static void example1() {
    /*
    * 模拟控制台输出
    */
    Scanner input = new Scanner(System.in);
    while (true) {
    String line = input.nextLine();
    if (line.equals("exit"))
    break;
    System.out.println("------>" + line);

     }
     input.close();
    

    }

}

···

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home...
    光剑书架上的书阅读 4,002评论 2 8
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,826评论 18 399
  • 一、 1、请用Java写一个冒泡排序方法 【参考答案】 public static void Bubble(int...
    独云阅读 1,448评论 0 6
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,234评论 19 139
  • 我只想睡觉啊 今天下班回来都不知道怎么回的学校 实在是太困了 当时脑海里只有一个想法 要么暴走要么睡死 很明显我选...
    打好boss好睡觉阅读 246评论 0 0