千家信息网

Java字符串操作的示例分析

发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,这篇文章主要介绍了Java字符串操作的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。✨字符, 字节与字符串????字符与字符串
千家信息网最后更新 2024年09月21日Java字符串操作的示例分析

这篇文章主要介绍了Java字符串操作的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

✨字符, 字节与字符串

????字符与字符串

字符串内部包含一个字符数组,String 可以和 char[] 相互转换.

NO方法名称类型描述
1public String(char value[])构造将字符数组中的所有内容变字符串
2public String(char value[],int offset,int count)构造将部分字符数组的内容变为字符串
3public char charAt(int index)普通取得指定索引位置的字符串,索引从0开始
4public char[] toChararray()普通将字符串变为字符数组返回

代码示例: 获取指定位置的字符

 public static void main(String[] args) {        String str = "hello" ;        System.out.println(str.charAt(0));// 下标从 0 开始        System.out.println(str.charAt(1));        System.out.println(str.charAt(2));        System.out.println(str.charAt(3));     }

代码示例: 字符串与字符数组的转换

 public static void main(String[] args) {        String str = "helloworld" ;        // 将字符串变为字符数组        char[] data = str.toCharArray() ;        for (int i = 0; i < data.length; i++) {            System.out.print(data[i]+" ");        }     }

public static void main(String[] args) {        String str = "helloworld" ;        // 将字符串变为字符数组        char[] data = str.toCharArray() ;        // 字符数组转为字符串        System.out.println(new String(data)); // 全部转换        System.out.println(new String(data,5,5)); // 部分转换    }

代码示例: 给定字符串一个字符串, 判断其是否全部由数字所组成

public static boolean isNumberChar(String s) {        for (int i = 0; i < s.length(); i++) {            char c = s.charAt(i);            //判断某个字符是不是数字            if(c < '0' || c > '9') {                return false;            }         }        return true;    }
 public static void main(String[] args) {        String str = "124567";        System.out.println(isNumberChar(str));    }

public static void main(String[] args) {        String str = "1d4567";        System.out.println(isNumberChar(str));    }

????字节与字符串

字节常用于数据传输以及编码转换的处理之中,String 也能方便的和 byte[] 相互转换

NO方法名称类型描述
1public String(byte bytes[])构造将字节数组变为字符串
2public String(byte bytes[],int offset,int length)构造将部分字节数组中的内容变为字符串
3public bye[] getBytes()普通将字符串以字节数组的形式返回
4

public byte[] getBytes(String charsetNAme)throws

UnsupportedEncodingException

普通编码转化处理

代码示例: 实现字符串与字节数组的转换处理

public static void main(String[] args) {        String str = "helloworld" ;        // String 转 byte[]        byte[] data = str.getBytes() ;        for (int i = 0; i < data.length; i++) {            System.out.print(data[i]+" ");        }        System.out.println();        // byte[] 转 String        System.out.println(new String(data));    }

 public static void main(String[] args)  {        byte[] bytes = {97,98,99,100};        String str = new String(bytes,1,3);        System.out.println(str);     }

????小结

byte[] 是把 String 按照一个字节一个字节的方式处理, 这种适合在网络传输, 数据存储这样的场景下使用. 更适合 针对二进制数据来操作.

char[] 是吧 String 按照一个字符一个字符的方式处理, 更适合针对文本数据来操作, 尤其是包含中文的时候.

✨字符串常见操作

????字符串比较

No方法名称类型描述
1public boolean equals(Object anObject)普通区分大小的比较
2public boolean equalsIanorecase(String anotherString)普通不区分大小写的比较
3public int compareTo(String anotherString)普通比较两个字符串大小关系

代码示例: 不区分大小写比较

 public static void main(String[] args) {        String str1 = "hello" ;        String str2 = "Hello" ;        System.out.println(str1.equals(str2)); // false        System.out.println(str1.equalsIgnoreCase(str2)); // true     }

在String类中compareTo()方法是一个非常重要的方法,该方法返回一个整型,该数据会根据大小关系返回三类内容:

1. 相等:返回0.

2. 小于:返回内容小于0.

3. 大于:返回内容大于0。


 public static void main(String[] args) {        System.out.println("A".compareTo("a")); // -32        System.out.println("a".compareTo("A")); // 32        System.out.println("A".compareTo("A")); // 0        System.out.println("AB".compareTo("AC")); // -1        System.out.println("刘".compareTo("杨"));    }

compareTo()是一个可以区分大小关系的方法,是String方法里是一个非常重要的方法。

字符串的比较大小规则, 总结成三个字 "字典序" 相当于判定两个字符串在一本词典的前面还是后面. 先比较第一 个字符的大小(根据 unicode 的值来判定), 如果不分胜负, 就依次比较后面的内容

????字符串查找

从一个完整的字符串之中可以判断指定内容是否存在,对于查找方法有如下定义:

NO方法名称类型描述
1public boolean contains(CharSequence s)普通判断一个子字符串是否存在
2public int indexOf(String str)普通从头开始查找指定字符串的位置,查到了返回位置的开始索引,如果查不到返回-1
3public int indexOf(String str,int fromIndex)普通从指定位置查找子字符串位置
4public int LastIndexOf(String str)普通从后向前查找子字符串位置
5public int LastIndexOf(String str, int fromIdex)普通从指定位置由后向前查找
6public boolean startWith (String prefix)普通判断是否以指定字符串开头
7public boolean startWith(String prefix, int toffset)普通从指定位置开始判断是否以指定字符串开头
8public boolean endWith(String suffix)普通判断是否以指定字符串结尾

代码示例: 字符串查找,最好用最方便的就是contains()

public static void main(String[] args) {        String str = "helloworld" ;        System.out.println(str.contains("world"));         System.out.println(str.contains("forld"));    }

代码示例: 使用indexOf()方法进行位置查找

public static void main(String[] args) {        String str = "helloworld" ;        System.out.println(str.indexOf("world")); // 5,w开始的索引        System.out.println(str.indexOf("bit")); // -1,没有查到        if (str.indexOf("hello") != -1) {            System.out.println("可以查到指定字符串!");        }    }

代码示例: 使用indexOf()的注意点

 public static void main(String[] args) {        String str = "helloworld" ;        System.out.println(str.indexOf("l")); // 2        System.out.println(str.indexOf("l",5)); // 8        System.out.println(str.lastIndexOf("l")); // 8    }

代码示例: 判断开头或结尾

public static void main(String[] args) {        String str = "**@@helloworld!!" ;        System.out.println(str.startsWith("**")); // true        System.out.println(str.startsWith("@@",2)); // ture        System.out.println(str.endsWith("!!")); // true    }

????字符串替换

使用一个指定的新的字符串替换掉已有的字符串数据,可用的方法如下

No方法名称类型描述
1public String replaceAll(String regex,String replacement)普通替换所有指定的内容
2public String replaceFirst(String regex, String replacement)普通替换首个内容

代码示例: 字符串的替换处理

 public static void main(String[] args) {        String str = "helloworld" ;        System.out.println(str.replaceAll("l", "_"));        System.out.println(str.replaceFirst("l", "_"));    }

注意事项: 由于字符串是不可变对象 , 替换不修改当前字符串, 而是产生一个新的字符串

????字符串拆分

可以将一个完整的字符串按照指定的分隔符划分为若干个子字符串。

NO方法名称类型描述
1public String[] split(String regex)普通将字符串全部拆分
2public String[] split(String regex,int limit)普通将字符串部分拆分

代码示例: 实现字符串的拆分处理

  public static void main(String[] args) {        String str = "hello world hello yu" ;        String[] result = str.split(" ") ; // 按照空格拆分        for(String s: result) {            System.out.println(s);        }    }

代码示例: 字符串的部分拆分

public static void main(String[] args) {        String str = "hello world hello yu" ;        String[] result = str.split(" ",2) ;        for(String s: result) {            System.out.println(s);        }    }

代码示例: 拆分IP地址

public static void main(String[] args) {        String str = "192.168.1.1" ;        String[] result = str.split("\\.") ;        for(String s: result) {            System.out.println(s);        }    }

注意事项:

1. 字符"|","*","+"都得加上转义字符,前面加上"\".

2. 而如果是"",那么就得写成"\\".

3. 如果一个字符串中有多个分隔符,可以用"|"作为连字符

代码示例: 多次拆分

public static void main(String[] args) {        String str = "name=zhangsan&age=18" ;        String[] result = str.split("&") ;        for (int i = 0; i < result.length; i++) {            String[] temp = result[i].split("=") ;            System.out.println(temp[0]+" = "+temp[1]);        }    }

????字符串截取

从一个完整的字符串之中截取出部分内容。可用方法如下:

NO方法名称类型描述
1public String substring(int beginIndex)普通从指定索引截取到结尾
2public String substring(int beginIndex, int endIndex)普通截取部分内容

代码示例: 观察字符串截取

public static void main(String[] args) {        String str = "helloworld" ;        System.out.println(str.substring(5));        System.out.println(str.substring(0, 5));    }

注意事项:

1. 索引从0开始

2. 注意前闭后开区间的写法, substring(0, 5) 表示包含 0 号下标的字符, 不包含 5 号下标

????其他操作方法

NO方法名称类型描述
1public String trim()普通去掉字符串的左右空格,保留中间空格
2public String toUpperCase()普通字符串转大写
3public String toLowerCase()普通字符串转小写
4public native String intern()普通字符串入池操作
5public String concat(String str)普通字符串连接,等同于+,不入池
6public int length()普通取得字符串长度
7public boolean isEmpty普通判断是否为空字符串,但不是null,而是长度0

代码示例: 观察trim()方法的使用

public static void main(String[] args) {        String str = " hello world " ;        System.out.println("["+str+"]");        System.out.println("["+str.trim()+"]");    }

代码示例: 大小写转换

public static void main(String[] args) {        String str = " hello%$$%@#$%world 哈哈哈 " ;        System.out.println(str.toUpperCase());        System.out.println(str.toLowerCase());    }

代码示例: 字符串length()

 public static void main(String[] args) {        String str = " hello%$$%@#$%world 哈哈哈 " ;        System.out.println(str.length());    }

注意:数组长度使用数组名称.length属性,而String中使用的是length()方法

代码示例: 观察isEmpty()方法

public static void main(String[] args) {        System.out.println("hello".isEmpty());        System.out.println("".isEmpty());        System.out.println(new String().isEmpty());    }

String类并没有提供首字母大写操作,需要自己实现

代码示例: 首字母大写

 public static void main(String[] args) {            System.out.println(fistUpper("yuisama"));            System.out.println(fistUpper(""));            System.out.println(fistUpper("a"));        }        public static String fistUpper(String str) {            if ("".equals(str)||str==null) {                return str ;            }            if (str.length()>1) {                return str.substring(0, 1).toUpperCase()+str.substring(1) ;            }            return str.toUpperCase() ;     }

感谢你能够认真阅读完这篇文章,希望小编分享的"Java字符串操作的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

字符 字符串 普通 示例 方法 代码 数组 内容 位置 名称 大小 字节 类型 部分 处理 数据 索引 篇文章 下标 之中 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 web数据库实现用户权限 如何强化网络安全检测 网络技术湫神 网络安全短视频封面 软件开发详细设计文档谁来写 桓台财务办公软件开发 大连市网络安全周活动 俄罗斯网络安全技术自主研发 联通杯网络安全技能大赛参赛 北京文档软件开发来电咨询 服务器热备和冷备的价钱 熙派互联网科技有限公司 美领互联网科技有限公司 游戏软件开发承揽协议 网络技术不断进步还有隐私吗 和驿网络技术有限公司 阿里轻量云服务器管理 思科网络技术第一册第五章 数据库压缩率 报考网络安全工程师有什么条件 教资报名出现内部服务器错误咋办 饥荒服务器怎么买 关于网络安全防火墙论文 个人信用信息数据库最重要信息是 家庭网络安全公约 顺义区推广网络技术咨询市场报价 为什么发邮件对方服务器未响应 奉贤区国内网络技术零售价 数据库压缩率 湖南监控服务器机柜云主机
0