栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中字符串有关的方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中字符串有关的方法

1.如何定义一个字符串:

下面两种方法都可以:

    String string=new String("HelloWorld");
    String string="HelloWorld";

2.string.charAt(i)取出字符串中某个字符

      String string="HelloWorld";
      System.out.println(string.charAt(4));
      //得到o

3.字符数组转字符串

        char[] array=new char[5];
        array[0]='g';
        array[1]='o';
        array[2]='o';
        array[3]='d';
        array[4]='!';
        String result=new String(array,0,array.length);
        System.out.println(result);
        //输出:good!

4.StringBuilder转字符串String

StringBuildr.toString();

注意:StringBuilder有reverse方法,反转字符串,String没有这个反转方法

5.字符串转化为字符数组

char[] array=string.toCharArray();

6.字符串截取子串string.substring() :前闭后开

String s=“Hello,World!”;
String s2=s.substring(1,5)
//"ello,"

7.判断两个字符串是否相等

s1.equals(s2)

8.split分割方法:最后得到的是一个字符串数组,也就是数组中每一个元素都是字符串

例题

(1)力扣替换空格

class Solution
 {
    public String replaceSpace(String s) 
    {
        //定义一个数组,这个数组长度是字符串长度的三倍
        //因为一个空格换成%20三个字符,所以三倍长度才能完全容纳字符串
        char[] array = new char[s.length() * 3];
        int size = 0;//size是我们定义的数组中的下标
        //用i来取出字符串中每一个字符
        for (int i = 0; i < s.length(); i++) 
        {
            char c = s.charAt(i);
            if (c == ' ') 
            {
                array[size] = '%';
                size++;
                array[size] = '2';
                size++;
                array[size] = '0';
                size++;
            } 
            else 
            {
                array[size] = c;
                size++;
            }
        }
        String result = new String(array, 0, size);
        return result;
    }
}

(2)左旋转字符串

力扣剑指offer58 

k就是说把前k个字符放到字符串最后面去

比如这里k=2,就是说把前面两个字符放到字符串最后面去

方法一:利用substring方法截取字符串子串的方法,将字符串先变成两个字符串,第一个字符串str1是前k个字符组成的,第二个字符串str2是由剩下的字符组成的,然后两个字符串进行拼接,而且是str2放在前面,str1放在后面,也就是说str2+str1

class Solution 
{
    public String reverseLeftWords(String s, int n) 
    {
        //substring是前闭后开
        String s1=s.substring(0, n);
        String s2=s.substring(n, s.length());
        return s2+s1;

    }
}

方法二:

class Solution 
{
    public String reverseLeftWords(String s, int n) 
    {
        StringBuilder result = new StringBuilder();
        
        //先把后面的字符添加进StringBuilder里面
        for(int i = n; i < s.length(); i++)
        {
            result.append(s.charAt(i));
        }
        //再把前面的字符添加进StringBuilder里面
  1      for(int i = 0; i < n; i++)
        {
            result.append(s.charAt(i));
        }   
        //将StringBuilder转化为String字符串    
        return result.toString();
    }
}

方法三:

class Solution 
{
    public String reverseLeftWords(String s, int n) 
    {
        String result = "";
        for(int i = n; i < s.length(); i++)
        {
            result += s.charAt(i);
        }
        for(int i = 0; i < n; i++)
        {
            result += s.charAt(i);
        }
        return result;
    }
}

(3)实现strStr()

力扣28 :找出一个字符串在另一个字符串中出现的位置

class Solution 
{
    //求出s2在s1中出现的位置    
    public int strStr(String s1, String s2)
    {
        if(s2.equals(""))     
        {
          return 0;  
        }
        if(s1.length()c1.length-c2.length)   return -1;
            int temp=i;
            for(int j=0;j 

(4)最长公共前缀

力扣14

将第一个字符串作为基准,其他所有的字符串和它一起比较

class Solution 
{
    public String longestCommonPrefix(String[] strs) 
    {
        //遍历str[0]这个字符串的每一个字符
        for(int i=0;i 

(5)力扣557 反转字符串中的单词|||

class Solution 
{
    public String reverseWords(String s) 
    {
        //得到一个字符串数组
        String[] array=s.split(" ");

        StringBuilder result=new StringBuilder();
        
        //遍历字符串数组里的每一个字符串
        for(int i=0;i=0;j--)
          {
             result.append(array[i].charAt(j));
          }

          //每翻转完一个字符串就添加一个空格
          if(i!=array.length-1)
          {
             result.append(" ");
          }     
        }
        return result.toString();
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1005910.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号