Java中的字符串(一)——去除前导空格和尾随空格

 2024-01-18 03:02:26  阅读 0

根据亲爱的老王的建议,我觉得写一个博客来记录我的学习生活不失为一个好主意。

其实之前有两次想写博客,一次是刚决定做CTF的时候,一次是用ege做完三级项目后,但是因为时间问题就耽搁了~~

让我们从今天开始吧。 关于ege图形库的部分稍后会添加。 这次肯定不会再有什么坑了。

下面进入正题,简单记录一下Java中字符串的相关操作——去除字符串中的前导空格和尾随空格。

例如:字符串“”是已知的。 字符串的开头和结尾有两个空格。 现在需要实现的功能是去掉开头和结尾的空格,即输出“”

方法一:使用java中已有的方法

java.lang. 中定义了一种从字符串中删除前导和尾随空格字符的方法:trim()

代码如下所示:

public class String_D {
	public static void main(String[] args) {
		
		String str = "  string  ";
		
		str = str.trim();
		
		System.out.println(str);
	}
}

字符串空串_c库函数字符串去空格_串中的空格符有何意义

输出是:

方法二:自己编写算法实现

如果不想使用现有的方法,也可以自己写一个小算法来实现这个功能。

首先我们要明白,Java中的类型在底层可以看做是一个字符数组,它是有属性的。 我们还可以通过索引(下标)来定位字符串中的单个字符。 这里我们介绍两个相关的方法。 。

①char(index) 返回指定位置的字符

例如,以下代码:

public class String_D {
	public static void main(String[] args) {
		
		String str = "abcdef";
		
		System.out.println(str.charAt(2));
	}
}

输出结果为:c

这里需要注意的是,因为底层是字符数组,所以索引是从0开始的。

② (int)/ (int, int) 返回从头开始的子串()/返回从头到尾的子串()

需要注意的是,这个串是左闭右开的,即输出的是比特而不是比特。

其基本用法通过以下代码演示:

public class String_D {
	public static void main(String[] args) {
		
		String str = "abcdef";
		
		System.out.println(str.substring(2));
		System.out.println(str.substring(2,4));
	}
}

输出是:

cdf

光盘

c库函数字符串去空格_字符串空串_串中的空格符有何意义

了解了上面两个函数之后,我们就可以设计一个简单的算法了。 如果我们要去掉第一个和最后一个字符串,只需要确定第一个和最后一个不是空格的字符的下标,然后将它们存储到str中。

代码如下所示:

public class String_D {
	public static void main(String[] args) {
		
		String str = "  string  ";
		int beginIndex = 0;//用于确定第一个不是空格的字符所在的位置
		int endIndex = str.length()-1;//用于确定从后起第一个不为0的字符的位置
		
		while(beginIndex < endIndex && str.charAt(beginIndex) == ' ')
			beginIndex ++;
		while(beginIndex < endIndex && str.charAt (endIndex) == ' ')
			endIndex --;
		
		str = str.substring(beginIndex, endIndex+1);
		
		System.out.println(str);
	}
}

输出是:

======================================严肃的分割线========== ==================================

哇~这是我第一次写博客,所以很紧张。

哇~光是这个小东西就写了半个多小时

呵呵~不知道是不是我说错了。 您能指点一下吗?

呜呜呜~

标签: 字符 空格 去除

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码