将字符串倒序的三种写法

1.先定义字符串 hello-123-java中国

public static void main(String[] args) {//将字符串倒序String str = "hello-123-java中国";System.out.println(str+"  第一次输出");
}

第一种写法:利用反转函数reserve

 //revers 将字符串进行倒序System.out.println(new StringBuilder(str).reverse()+"  第一种方法运行结果");

第二种写法:利用substring 进行截取

   StringBuilder su = new StringBuilder();String temp = " ";for (int i=0; i<str.length() ;i++){temp = str.substring(i ,i+1)+ temp ;}System.out.println( temp+"   输出temp的结果");

第三种写法:利用charAt ,返回一个字符串的指定位置的字符

   StringBuilder su = new StringBuilder();for (int i=0; i<str.length() ;i++){su.insert(0,str.charAt(i));}System.out.println(su+"   输出su的结果");

三种方法的结果如下:

判断名字的中英文类型

创建Scanner 类对象

定义名字的类型方式

用matchers检测字符串是否匹配给定的正则表达式

([\u4e00-\u9fa5]{2,8} 代表2到8个汉字字符)

 //判断字符串是不是中文字符?Scanner sc = new Scanner(System.in);System.out.println( "请输入姓名:");//trim()和strip()都可以使用String name = sc.nextLine().trim();if (name .matches("[\u4e00-\u9fa5 ]+")){System.out.println("欢迎:"+ name);}else {System.out.println("Welcome:"+ name);}//这样写也是可以的Scanner sc =new Scanner(System.in);System.out.println("请输入字符串: ");String ss =sc.nextLine().trim();if (ss.matches("[\u4e00-\u9fa5 ]+")){System.out.println("欢迎你: "+ss);} else if (ss.matches("[a-zA-Z ]+")) {System.out.println("Hello :" + ss);} else {System.out.println("其他的输出方式,请在思考其他方法的使用");}

两种不同的输出结果:

 

判断手机号格式:

利用ASCII码进行判断:

   //判断一个手机是不是正确的手机号System.out.println("请输入你的手机号: ");String phone = sc.nextLine().trim();boolean f = true;if (phone.length() == 11 && phone.startsWith("1")) {for (int i = 1; i < phone.length(); i++) {char c = phone.charAt(i);if (c >= '0' && c <= '9') {} else {f = false;break;}}} else {f = false;}if (f) {System.out.println("手机号格式正确: " + phone);} else {System.out.println("手机号格式错误");}}
}

利用正向表达式进行书写:

       //判断一个手机是不是正确的手机号Scanner sc =new Scanner(System.in);System.out.println("请输入你的手机号: ");String phone = sc.nextLine().trim();if (phone.matches("1[358]\\d{9}")) {System.out.println("手机号格式正确: " + phone);} else {System.out.println("手机号格式错误");}}
}

正则表达式

正则表达式是一种字符串的表示模式,是一种特殊的字符串

.*中 .代表一个任意符号(什么都行),*代表前边的符号出现0次或者多次,和{0,}类似

.*也可以表达为.{0,}

在我现在所学的知识中,要在[ ]中加空格,在空格外加会报错

    public static void main(String[] args) {//判断字符串有没有大小写字母//判断字符串是不是大写字母组成System.out.println("Hello".matches("[A-Z]+"));//判断字符串有没有大写字母System.out.println("Hello".matches(".*[A-Z]+.*"));System.out.println("hello".matches(".*[A-Z]+.*"));//判断字符串中有没有汉字System.out.println("hello 世界".matches(".*[\u4e00-\u9fa5].*"));//判断字符串中有没有数字     \\d = [0-9]System.out.println("hello526".matches(".*[0-9].*"));System.out.println("hello526".matches(".*\\d.*"));//判断字符串中有没有手机号System.out.println("我的手机号是:13110111010 .".matches(".*1[358]\\d{9}.*"));}

这两行的输出结果就很有意思:

  String ss = "123abcdefg3555AABBCCDD255java44php";System.out.println(ss.replaceAll("[0-9]*","?"));

输出结果:??a?b?c?d?e?f?g??A?A?B?B?C?C?D?D??j?a?v?a??p?h?p?

如果再正则表达式输出前的括号内加上一个空格会进行报错,输出不来想要的结果

 Scanner sc = new Scanner(System.in);System.out.println("请输入姓名字符串: ");String aa = sc.nextLine().trim().strip();//再正则表达式的最后的引号前加空格会报错,注释的地方进行输出的时候,输入中中文会报错// if (aa.matches("[\u4e00-\u9fa5 ]+ ")){if (aa.matches("[\u4e00-\u9fa5 ]+")){System.out.println("你好 :" +aa);} else if (aa.matches("[a-zA-Z ]+")) {System.out.println("hello : " +aa);}else {System.out.println("请输入正确的字符串 ");}

在项目注册的时候,名字要么是中文要么是英文

 Scanner sc = new Scanner(System.in);System.out.println("请输入姓名 : ");String name = sc.nextLine().strip();Pattern p = Pattern.compile("[a-zA-Z\s]+|[\u4e00-\u9fa5\s]{2,}");Matcher m = p.matcher(name);if (m.matches()){System.out.println("姓名格式正确: "+ name );}else {System.out.println("格式错误: " + name );}

JAVA中字符串倒序、判断名字中英文、判断手机号格式以及正则表达式应用相关推荐

  1. java中字符串不等于_java中字符串不等于怎么判断

    java中字符串不等于可以使用equals()方法判断,equals()方法用于将字符串与指定的对象比较. 语法public boolean equals(Object anObject) 参数 an ...

  2. Java实现字符串倒序输出

    Java实现字符串倒序输出 package Strin;//文件夹名称import java.util.Scanner;//导入的Scanner包public class Demo {//类的名称pu ...

  3. 【转】Java中字符串中子串的查找共有四种方法(indexof())

    原文网址:http://wfly2004.blog.163.com/blog/static/1176427201032692927349/ Java中字符串中子串的查找共有四种方法,如下: 1.int ...

  4. java中字符串的精确匹配_Java最佳实践–字符串性能和精确字符串匹配

    java中字符串的精确匹配 在使用Java编程语言时,我们将继续讨论与建议的实践有关的系列文章,我们将讨论String性能调优. 我们将专注于如何有效地处理字符串创建, 字符串更改和字符串匹配操作. ...

  5. [转载] Java 中字符串转整型和整型转字符串

    参考链接: Java中的字符串到整数– parseInt() Java 中字符串转整型和整型转字符串 1.字符串转整型Java代码,字符串为纯数字的情况下,调用Integer的静态方法parseInt ...

  6. Java中字符串中子串的查找共有四种方法(indexof())

    2019独角兽企业重金招聘Python工程师标准>>> public class FirstDemo { /** *API中String的常用方法 */ // 查找指定字符串是否存在 ...

  7. java中字符串 MD5密码的加密与验证

    java中字符串 MD5密码的加密与验证   MD5即Message-Digest Algorithm 5(信息-摘要 算法 5),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法之一(又译 摘要 ...

  8. Java 中字符串转整型和整型转字符串

    Java 中字符串转整型和整型转字符串 1.字符串转整型 Java代码,字符串为纯数字的情况下,调用Integer的静态方法parseInt或者valueOf Java代码,如果单个字符或字符串,需要 ...

  9. Java中字符串的比较

    "=="比较两个对象时,比较的是两个对象的内存地址 equals() 比较的是对象的内容(区分字母的大小写) 一.用"=="方法: (1)String a=&q ...

最新文章

  1. vue3.0环境搭建
  2. Ubuntu10下MySQL搭建Amoeba_读写分离
  3. 第十五届全国大学生智能车东北赛区成绩
  4. XML学习笔记之XML的简介
  5. sap系统操作流程财务软件_金蝶财务软件的操作流程汇总
  6. win7任务栏还原为xp样式
  7. sklearn 决策树(分类树、回归树)的 重要参数、属性、方法理解
  8. 利用计算机峰值,计算机的峰值速度
  9. 量子计算机能让科技发展有多快,量子计算机有多快?
  10. Secret Passwords CodeForces - 1263D(并查集)
  11. 操作系统上机作业--根据莱布尼兹级数计算PI(2)(多线程)
  12. 数据结构之自建算法库——链栈
  13. java ldap添加用户名密码_java ldap用户密码md5加密
  14. (1)PCIE接口应用领域(学无止境)
  15. 安卓模拟器手游辅助制作教程
  16. 蓝桥杯试题c语言蛇形填数,2020十月份蓝桥杯B组省赛题解大全(害!附题面文件和部分代码~)...
  17. 人声歌姬语音合成器+11个歌手音源-Yamaha Vocaloid 5.2.1 + Libraries WiN
  18. Java数据结构树实验报告总结_20172302 《Java软件结构与数据结构》实验二:树实验报告...
  19. drools学习笔记-rule组织方式
  20. 爬取腾讯招聘的招聘信息(简单)

热门文章

  1. Word中英文导致空格间距过大如何解决?
  2. 另一棵树的子树(你一定要会的基础面试题)
  3. 美团数据指标体系搭建实战
  4. 10天精读掌握:计算机组成与设计(COAD:Patterson and Hennessy) (第3天 2018/10.26)
  5. C/C++经典例题:百钱百鸡
  6. 笔记本出现数字小键盘怎么解决,出现方形带斜杠123
  7. 超级轻量级: KV存储引擎实现
  8. grunt 压缩 html,如何使用 grunt 插件压缩合并 js ?减少页面请求数的秘诀
  9. 【Vant相关知识】
  10. 常见锁策略_CAS(Compare And Swap)_synchronized优化