根据亲爱的老王的建议,我觉得写一个博客来记录我的学习生活不失为一个好主意。
其实之前有两次想写博客,一次是刚决定做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);
}
}
输出是:
方法二:自己编写算法实现
如果不想使用现有的方法,也可以自己写一个小算法来实现这个功能。
首先我们要明白,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
光盘
了解了上面两个函数之后,我们就可以设计一个简单的算法了。 如果我们要去掉第一个和最后一个字符串,只需要确定第一个和最后一个不是空格的字符的下标,然后将它们存储到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);
}
}
输出是:
======================================严肃的分割线========== ==================================
哇~这是我第一次写博客,所以很紧张。
哇~光是这个小东西就写了半个多小时
呵呵~不知道是不是我说错了。 您能指点一下吗?
呜呜呜~