当前位置: 首页 > news >正文

String里常用的方法

把字符串换成大/小写

String          toUpperCase()                        ;toLowerCase()

        String str1 = "Abc";String upperStr1 = str1.toUpperCase();System.out.println(upperStr1);//ABCString lowerStr1 = str1.toLowerCase();System.out.println(lowerStr1);//abc//想要部分大写可配合subString()方法,比如尾字母要大写String newStr1 =  str1.substring(0,str1.length()-1).toLowerCase()+ str1.substring(str1.length()-1).toUpperCase();System.out.println(newStr1);//abC

切割字符串

String[]           split(String regex)

根据regex切割字符串,并放在String[]里

        //随机生成一个爱好String hobby = "唱,跳,RAP,篮球";String[] hobbies = hobby.split(",");double random = Math.random()*hobbies.length;System.out.println("被选中的是"+hobbies[(int)random]);

注意切割完后面为空字符则舍去,前面不舍

        String str4 = "<Book>活着</Book><Book>兄弟</Book>";String[] books1 = str4.split("<Book>");System.out.println(Arrays.toString(books1));//[, 活着</Book>, 兄弟</Book>]String[] books2 = str4.split("</Book>");System.out.println(Arrays.toString(books2));//[<Book>活着, <Book>兄弟]

删除前后空白

String           strip()

        String str2 = "              我 爱 你 中 国                        ";System.out.println(str2.strip());//我 爱 你 中 国

替换字符

String           replace(CharSequence target, CharSequence replacement)

其中CharSequence是接口,String实现了CharSequence接口

        //实现用*屏蔽敏感词汇Scanner scanner = new Scanner(System.in);String string = scanner.nextLine();String str1 = "cnm";String str2 = "sb";List<String> list = new ArrayList<>();list.add(str1);list.add(str2);for(String word : list) {//判断输入字符串是否包含这个敏感词汇if (string.contains(word)) {//repeat(int count)返回一个字符串是该字符串count的串联String asterisks = "*".repeat(word.length());//替换敏感词string = string.replace(word, asterisks);}}System.out.println(string);scanner.close();

找字符索引

int                  indexOf(String str)           ;lastindexof(String str)

返回第一次出现str的起始位置的索引

        //拿到"活着"并且打印出来String str3 = "<Books><Book>活着</Book></Books>";//找到<Book>中">"的索引和</Book>中"<"的索引int startIndex = str3.indexOf("<Book>") + "<Book>".length();int endIndex = str3.indexOf("</Book>");System.out.println("startIndex: " + startIndex +"    endIndex: " + endIndex);
判断是否有子字符串
判断固定前,后缀  ​

boolen               startsWith(String prefix)             ;endsWith(String suffix)

        String str5 ="www.baidu.com";System.out.println(str5.startsWith("www"));//trueSystem.out.println(str5.endsWith(".com"));//true
判断是否有子字符串

bollen                contains(CharSequence s)

例子在替换字符有体现

练习

小练习:把xml中的标签对象属性放在创建的对象数组里

//split  subString   indexOf  lastIndexOf
public class StringDemo1 {public String getBeginTag(String str) {return "<" + str + ">";}public String getEndTag(String str) {return "</" + str + ">";}public String subStrCondition(String condition, String str) {return str.substring(str.indexOf(getBeginTag(condition)) + getBeginTag(condition).length(),str.indexOf(getEndTag(condition)));}public static void main(String[] args) {String str = "<Users><User><name>zhangsan</name><age>18</age></User><User><name>lisi</name><age>14</age></User></Users>";StringDemo1 stringDemo1 = new StringDemo1();str = stringDemo1.subStrCondition("Users", str);String[] sources = str.split(stringDemo1.getEndTag("User"));User[] users = new User[sources.length];int i = 0;for (String source: sources) {String name = stringDemo1.subStrCondition("name", source);String age = stringDemo1.subStrCondition("age", source);Integer age1 = Integer.parseInt(age);User user = new User();user.setAge(age1);user.setName(name);users[i] = user;i++;}System.out.println(Arrays.toString(users));//[User{name='zhangsan', age=18}, User{name='lisi', age=14}]}}

http://www.lryc.cn/news/619932.html

相关文章:

  • el-table合并相同名称的列
  • java中在多线程的情况下安全的修改list
  • 基于C#、.net、asp.net的心理健康咨询系统设计与实现/心理辅导系统设计与实现
  • LCP 17. 速算机器人
  • 老生常谈智能指针:《More Effective C++》的条款28
  • Linux 服务:动态主机配置协议(DHCP)实战指南 —— 服务器部署与跨网段配置
  • 4.0 vue3简介
  • DAY 44 预训练模型
  • SQL 核心操作全解析:从基础查询到关联关系实战
  • 18. parseInt 的参数有几个
  • 多语言文本 AI 情感分析 API 数据接口
  • Python解包技巧全解析
  • Docker部署RAGFlow:生产环境开启Kibana与ES安全集成指南
  • Celery在Django中的应用
  • 【web站点安全开发】任务3:网页开发的骨架HTML与美容术CSS
  • Pytest+selenium UI自动化测试实战实例(超详细)
  • 第十三节:后期处理:效果增强
  • OpenBMC适配器模式小白学习指南
  • 服务器安全检测和防御技术
  • LeetCode算法日记 - Day 10: x 的平方根、搜索插入位置
  • 大模型微调【1】之入门
  • 农业物联网:现代农业的智慧革命
  • 后端(服务端)的跳转方式-请求转发和重定向
  • 集成电路学习:什么是CV计算机视觉
  • Nginx学习笔记(七)——Nginx负载均衡
  • 深度学习之CNN网络简介
  • 深度学习(4):数据加载器
  • go语言学习笔记
  • 初识神经网络05——构建神经网络3
  • C# 反射入门:如何获取 Type 对象?