文档章节

String相关操作

jacky_123
 jacky_123
发布于 2015/01/26 11:02
字数 356
阅读 22
收藏 0

1、将手机号码中间替换成“*”

/**
  * 将手机号码中间替换成"*",替换的长度为to-from
  * @param strSource:手机号码字符串
  * @param from:index
  * @param to:index
  * @return
  */
 public static String replace(String strSource, int from, int to) {
  if (strSource == null) {
   return null;
  }
  int n = strSource.length();
  if (n < 11) {
   System.out.println(strSource + "不是电话号码");
   return null;
  }
  if (from > to) {
   System.out.println("输入的参数错误");
   return null;
  }
  char[] cSrc = strSource.toCharArray();
  StringBuffer buf = new StringBuffer(n);
  for (int i = 0; i < n; i++) {
   if (i >= from && i < to) {
    buf.append("*");
   } else {
    buf.append(cSrc[i]);
   }
  }
  return buf.toString();
 }

 第二种方式:

public static String replace(String strSource, int from, int to) {

  if (strSource == null) {

   return null;

  }

  int n = strSource.length();

  if (n < 11) {

   System.out.println(strSource + "不是电话号码");

   return null;

  }

  if (from > to) {

   System.out.println("输入的参数错误");

   return null;

  }

  

  StringBuffer buf = new StringBuffer(strSource);

  for (int i = 0; i < n; i++) {

   if (i >= from && i < to) {

    buf.setCharAt(i, '*');

   }

  }

  return buf.toString();

 }

String str = "Hello World";
System.out.println(str.replace('H', 'W'));
  System.out.println(str.replaceFirst("He", "Wa"));
  System.out.println(str.replaceAll("He", "Ha"));

3注意替换中的一些问题:

替换所有的空白符为制表符

String s = "1 3 2  4   we dads    daj";
  s = s.replaceAll("\\s+", "\t");
  System.out.println(s);

注意正则字符的“\”的位置,linux与windows不同

4StringBuffer的一些重要操作

见1

实例化:

StringBuffer()

StringBuffer(int capacity)

StringBuffer(String string)

StringBuffer(CharSequence cs)

 

字符串翻转:new StringBuffer(str).reverse().toString();

 

5项目中遇到的String分割

获取的String内容的时间有时候是“ ”或者“-”分割,解析的时候要打印出来,我是这么处理的

String str_time="12:00-13:00";

  String time[] = str_time.split(" ");

  if(time.length==1){

   time = str_time.split("-");

  }

  System.out.println(time[0]);

  System.out.println(time[1]);

© 著作权归作者所有

jacky_123
粉丝 3
博文 55
码字总数 26297
作品 0
南通
程序员
私信 提问
如何使用C#实现QQ号码的申请

腾讯向大众提供了申请QQ的界面,方便很多潜在用户加入QQ大军中,注册页面是http://reg.qq.com ,为了限制用户的过度使用,设置了验证码、IP限制等手段,一般用户默认一天只能申请几个QQ号码,...

长平狐
2012/08/22
149
0
如何使用C#实现QQ号码的申请

腾讯向大众提供了申请QQ的界面,方便很多潜在用户加入QQ大军中,注册页面是http://reg.qq.com ,为了限制用户的过度使用,设置了验证码、IP限制等手段,一般用户默认一天只能申请几个QQ号码,...

长平狐
2012/06/11
210
0
Winform开发框架之系统重新登录、自动登录实现

在业务系统的操作过程中,有时候,用户需要切换用户进行重新登录,这种情况有时候是因为一个人管理多个用户账号,希望通过不同的账号登录进行管理不同的资料,另一种情况是酒店的换班操作,另...

长平狐
2012/08/22
639
0
shell脚本中变量子串的常用操作

字符串操作 ${#string}输出字句的字符个数 ${string:position:length}输出$position开始的length长度的字符 ${string:position} [root@ilove scripts]# liuyifei="i like sanpan i like luo ......

476069017
2016/07/07
0
0
最全Android开发常用工具类

主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java。 目前包括 HttpUtils、DownloadManagerPro、Safe.ijiami、ShellUtils、PackageUtils、PreferencesUtils、JSONUtils、FileU...

3eera
2014/11/18
13.1K
22

没有更多内容

加载失败,请刷新页面

加载更多

关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
6
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
6
0
Docker容器实战(七) - 容器中进程视野下的文件系统

前两文中,讲了Linux容器最基础的两种技术 Namespace 作用是“隔离”,它让应用进程只能看到该Namespace内的“世界” Cgroups 作用是“限制”,它给这个“世界”围上了一圈看不见的墙 这么一...

JavaEdge
今天
8
0
文件访问和共享的方法介绍

在上一篇文章中,你了解到文件有三个不同的权限集。拥有该文件的用户有一个集合,拥有该文件的组的成员有一个集合,然后最终一个集合适用于其他所有人。在长列表(ls -l)中这些权限使用符号...

老孟的Linux私房菜
今天
7
0
面试套路题目

作者:抱紧超越小姐姐 链接:https://www.nowcoder.com/discuss/309292?type=3 来源:牛客网 面试时候的潜台词 抱紧超越小姐姐 编辑于 2019-10-15 16:14:56APP内打开赞 3 | 收藏 4 | 回复24 ...

MtrS
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部