java String去除两端的空格和空字符

我在写一个处理简历的程序,我的java文件原来是GBK,后来放到一个框架里面,我就把java文件拷到txt文档中再拷贝回来就是UTF8了,但是这样一来出现了一个问题。在字符串比较时总是出现问题,这个我只能用equals不能用contains(具体见下图),处理之前已经trim()了,后来又用正则,但是还是不行
String regex = "(^\\s*)|(\\s*$)/g"; line=line.replaceAll(regex, "");
请大神们指点一下
1.怎样去除前面的空字符?万分感谢
2.为什么我从GBK转到UTF-8后读取就会出现问题
不要从substring等截取,这样有的会有问题,最好就是像把智联招聘,自我评价,工作经历这样几个字就占一行的提取出来比我已知的关键字进行比较
第二幅图中,智联招聘就是与line比较,但是line的长度是5,智联招聘的长度是4

java中String有个trim()能够去掉一个字符串的前后空格。
但是trim()只能去掉字符串中前后的半角空格,而无法去掉全角空格。
去掉全角空格需要在trim()方法的基础上加上一些判断。
String textContent ="abctest ";
textContent = textContent.trim();
while (textContent.startsWith(" ")) {//这里判断是不是全角空格
textContent = textContent.substring(1, textContent.length()).trim();
}
while (textContent.endsWith(" ")) {
textContent = textContent.substring(0, textContent.length() - 1).trim();
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-04

1、试试【字符串.replaceAll("\\s","")】或者【字符串.replaceAll(" ","")】

2、

BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(new File(文件路径)),指定解码格式));

追问

都试过,不可以,你看一下,我的正则里面已经包括你说的了

第2个回答  2014-01-04
String里面有一个trim()方法专门是去开头空格的。追问

去看API,是去两端空格的

第3个回答  2014-01-04
每次比较是用trim去掉空格追问

已经用了

第4个回答  2018-04-12
package day12;
import java.util.Scanner;
public class TestTrim {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
System.out.println("请输入一串字符:");
String str=input.nextLine();
int start=0;
int end=str.length()-1;
while(start<=end&&str.charAt(start)==' ') {
start++;//重头开始取空格字符索引位置下标
}
while(start<=end&&str.charAt(end)==' ') {
end--;//重最后倒着取空格字符索引位置下标
}
String sc=str.substring(start, end+1);
System.out.println(sc);

}
}
相似回答