Java——模拟trim方法,与字符串反转

本文介绍两种实用的字符串操作方法:一是自定义实现字符串两端空白字符的去除;二是字符串及其指定部分的反转。通过具体实例展示了算法的实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
1,模拟一个trim方法,去除字符串两端的空格。
 思路:
 1,判断字符串第一个位置是否是空格,如果是继续向下判断,直到不是空格为止。
  结尾处判断空格也是如此。
 2,当开始和结尾都判断到不是空格时,就是要获取的字符串。

 

2,将一个字符串进行反转。将字符串中指定部分进行反转,"abcdefg";abfedcg
 思路:
 1,曾经学习过对数组的元素进行反转。
 2,将字符串变成数组,对数组反转。
 3,将反转后的数组变成字符串。
 4,只要将或反转的部分的开始和结束位置作为参数传递即可。


*/

class StringTest
{

 public static void sop(String str)
 {
  System.out.println(str);
 }
 public static void main(String[] args)
 {
  String s = "      ab cd      ";

  sop("("+s+")");
//  s = myTrim(s);
//  sop("("+s+")");

  sop("("+reverseString(s)+")");
  
 }


 //练习二:将字符串反转。
 /*
 思路:
 1,将字符串变成数组。
 2,对数组反转。
 3,将数组变成字符串。
 */

 public static String reverseString(String s,int start,int end)
 {
  //字符串变数组。
  char[] chs = s.toCharArray();

  //反转数组。
  reverse(chs,start,end);

  //将数组变成字符串。
  return new String(chs);
 }
 public static String reverseString(String s)
 {
  return reverseString(s,0,s.length());
  
 }

 private static void reverse(char[] arr,int x,int y)
 {
  for(int start=x,end=y-1; start<end ; start++,end--)
  {
   swap(arr,start,end);
  }
 }
 private static void swap(char[] arr,int x,int y)
 {
  char temp = arr[x];
  arr[x] = arr[y];
  arr[y] = temp;
 }

 //练习一,去除字符串两端空格。
 public static String myTrim(String str)
 {
  int start = 0,end = str.length()-1;

  while(start<=end && str.charAt(start)==' ')
   start++;

  while(start<=end && str.charAt(end)==' ')
   end--;

  return str.substring(start,end+1);
 }
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值