当前位置: 首页 > 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.xdnf.cn/news/1291015.html

相关文章:

  • w481社区老人健康信息管理系统的设计与实现
  • 5.语句几个分类
  • BGE:智源研究院的通用嵌入模型家族——从文本到多模态的语义检索革命
  • 开源WAF新标杆:雷池SafeLine用语义分析重构网站安全边界
  • 【C#】利用数组实现大数数据结构
  • 银发经济时代:科技赋能养老,温情守护晚年,让老人不再孤独无助
  • LeetCode 面试经典 150_数组/字符串_整数转罗马数字(18_12_C++_中等)(模拟)(对各位进行拆解)
  • STM32HAL 快速入门(六):GPIO 输入之按键控制 LED
  • JMeter 测试 WebSocket 接口的详细教程
  • HarmonyOS NDK的JavaScript/TypeScript与C++交互机制
  • 实战多屏Wallpaper壁纸显示及出现黑屏问题bug分析-学员作业
  • 从0开始配置conda环境并在PyCharm中使用
  • 基于Apache Flink的实时数据处理架构设计与高可用性实战经验分享
  • Flink中的窗口
  • 解决程序连不上RabbitMQ:Attempting to connect to/access to vhost虚拟主机挂了的排错与恢复
  • Windows也能用!Claude Code硬核指南
  • 【报错解决】Conda - Downloaded bytes did not match Content-Length
  • Java零基础笔记16(Java编程核心:存储读写数据方案—File文件操作、IO流、IO框架)
  • 搜索引擎核心机制解析
  • 5.0.9.1 C# wpf通过WindowsFormsHost嵌入windows media player(AxInterop.WMPLib)
  • C# WPF本地Deepseek部署
  • 集成电路学习:什么是CV计算机视觉
  • IPA1299至为芯替代TI ADS1299的脑机接口芯片
  • 网络安全合规6--服务器安全检测和防御技术
  • 高级IO(五种IO模型介绍)
  • Spring、Spring MVC、Spring Boot与Spring Cloud的扩展点全面梳理
  • Spring Boot 集成 机器人指令中枢ROS2工业机械臂控制网关
  • 从“存得对”到“存得准”:MySQL 数据类型与约束全景指南
  • 算法题打卡力扣第11题:盛最多水的容器(mid)
  • 音视频处理新纪元:12款AI模型的语音转录和视频理解能力横评