我正在尝试获取文本文件的内容,删除字母以外的所有内容,然后将其转换为String
的数组,以便单独处理单词。
我这样做是为了获取文本文件:
String temp1= IOUtils.toString(FIS,"UTF-8");
String temp2=temp1.replaceAll("[,.!;:\\r\\n]"," ");
然后为了对字符串进行标记,我这样做:
String[] tempStringArray = temp2.split(" ");
问题在于,当创建数组时,各个索引处都有空String
。这些空String
位于换行符位置,多个空格,替换标点符号等等。文本文件
我希望从我的String
数组中删除这些空的String
,或者以他们无法输入String
数组的方式删除这些{{1}}。
怎么办呢?
答案 0 :(得分:5)
按所有空格分割,例如:<link href='http://storage.googleapis.com/<BUCKET>/static/rest_framework_swagger/css/print.css' media='print' rel='stylesheet' type='text/css'/>
答案 1 :(得分:2)
在您的示例中,如果您的字符集[,。!;:\ r \ n]中有多个字符,则会将其替换为多个空格。当您调用(?<=\W)[a-zA-Z]{10}(?=\W)
方法时,它会在数组中将空出现位置引用到行中的多个空格。
你可以在split()
方法中使用正则表达式,这对你的例子来说会更好。
尝试将split()
与temp2.split(" ")
重新混合。这将在一行中查找多个空格,并且只是在空白空间的大间隙周围标记文本。
答案 2 :(得分:2)
虽然Daniel Arthur和Young Millie的答案是正确的,但是可以通过直接拆分要避免的角色来替换这两个步骤:
/Repertuar/Film/Title/string-length(.)