java读取excel文件的内容,获取的字符串前面多了一个问号(如"?2012-05-01")是啥原因,怎么解决呢
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java读取excel文件的内容,获取的字符串前面多了一个问号(如"?2012-05-01")是啥原因,怎么解决呢相关的知识,希望对你有一定的参考价值。
这个好像是隐藏字符,通过输入输出流就会显示成“?”。你可以把获取到的数据转成String,然后用replaceAll()把所有的?替换成空就可以了 参考技术A 一般是你的excel文件的该单元格里面多了未知符号,你可以把该单元格的文本copy出去到文本编辑器里面去看,把?去掉后再黏贴进去
java中怎么获取部分文本
比如: 我的名字是,路人甲 。。 我要获取逗号前面的文本内容(即 我的名字是),用getText我只会获取全部内容额。。
先获取全部内容然后再截取。
有两种方法。
String content = "我的名字是,路人甲 ";content.split(",")[0];
content.subString(0,content.lastIndexOf(","));
上面这两种方法都可以。
追问还有点问题唉= =, 我弄的 是 1+2 ,获取+号前的1,结果用double给a赋值,显示double无法转换string...
追答如果你是逗号前面和后面的都要获取到的话,那就用split方法。
String content = "我的名字是,路人甲 ";String first = content.split(",")[0];
String last = content.split(",")[1];
first是“我的名字是”
last是“路人甲”
split是按照你给的规则将字符串拆分成数组。具体拆出来几个,那就看满足条件的有几个。
比如
String content = "look book";String[] arr = content.split("o");
//这时候拆出来就有三个
//arr[0]的值是"l";
//arr[1]的值是"k b";
//arr[2]的值是"k";
你去查一下API就知道split的用法了,很简单的。
还有,这个split只能String类型使用。所以你要是想获取1+2中的1的话先将这个1+2转换成String类型的"1+2"吧。如果是double类型的话这个表达式的值就变成3了。
参考技术A getText()后用split方法split
public String[] split(String regex)
根据给定正则表达式的匹配拆分此字符串。
该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split
方法。因此,所得数组中不包括结尾空字符串。例如,字符串 "boo:and:foo" 使用这些表达式可生成以下结果:Regex
结果
:
"boo", "and", "foo"
o
"b", "", ":and:f"
参数:
regex - 定界正则表达式
返回:
字符串数组,它是根据给定正则表达式的匹配拆分此字符串确定的
抛出:
PatternSyntaxException
- 如果正则表达式的语法无效
从以下版本开始:
1.4
另请参见:
Pattern追问
举个例子呗,我不会用你说的这个split方法唉
追答比如你的String a是ab cd ef gh ij
String a []=a.split(" ")//以空格拆分,正则表达式我这个不标准
a.split(",")//以逗号拆分
以上是关于java读取excel文件的内容,获取的字符串前面多了一个问号(如"?2012-05-01")是啥原因,怎么解决呢的主要内容,如果未能解决你的问题,请参考以下文章
java 字节流 多个文件写入一个文件 为啥前面写入的内容会被覆盖了
java用poi读取excel文件时怎么获取每个单元格的列宽?