当前位置: 首页 > 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.dtcms.com/a/328817.html

相关文章:

  • Vue项目生产环境性能优化实战指南
  • 服务器查看 GPU 占用情况的方法
  • mac环境下安装git并配置密钥等
  • 搜索引擎核心机制解析
  • RabbitMQ面试精讲 Day 21:Spring AMQP核心组件详解
  • 详解Windows(二十)——恶意软件清除
  • CV 医学影像分类、分割、目标检测,之【腹腔多器官语义分割】项目拆解
  • 1.4.2 嵌入(embedding)模式:让人工智能大模型为你的产品或业务助力
  • 大模型微调【1】之入门
  • 实践基地授牌:重庆五一职院与成都影像产业园强实训
  • Coze Studio 概览(十)--文档处理详细分析
  • CW32L011电机开发板控制教程
  • C++ 面向对象四大特性:面试深度解析
  • 一个接口多个实现类,如何动态调用
  • 神经网络的核心组件解析:从理论到实践
  • ARM 实操 流水灯 按键控制 day53
  • Django REST Framework视图
  • HarmonyOS NDK的JavaScript/TypeScript与C++交互机制
  • Flask vs Django:微框架与一站式对决
  • web安全开发,在线%射击比赛管理%系统开发demo,基于html,css,jquery,python,django,三层mysql数据库
  • C# 异常处理与拦截全攻略:try/catch/finally、using、ASP.NET Core 中间件与过滤器一网打尽(含完整示例)
  • tRAP(tRNA 活性预测器)
  • Java开发主流框架搭配详解及学习路线指南
  • 二叉树的最小深度
  • Android 终端接入 GB28181 国标视频平台的完整解决方案解析
  • 【安卓,问题记录】ImageView 在布局顺序上位于 Button 上方,却出现图像内容被 Button 遮挡
  • AIOPS人才需具备的技术需求
  • 【完整源码+数据集+部署教程】火柴实例分割系统源码和数据集:改进yolo11-rmt
  • latex中“itemize”
  • 如何写出高质量的dify参数提取器prompt