在Java中从字符串中删除空格
我有一个像这样的字符串:
mysz = "name=john age=13 year=2001";
我想删除字符串中的空格。 我试过trim()
但这只删除了整个字符串前后的空格。 我也尝试了replaceAll("\\\\W", "")
但是=
也被删除了。
如何使用以下方法实现字符串:
mysz2 = "name=johnage=13year=2001"
#1楼
如果您更喜欢实用程序类而不是正则表达式,则在Spring Framework中的StringUtils中有一个trimAllWhitespace(String)方法。
#2楼
在Java中,我们可以执行以下操作:
String pattern="[\\s]";
String replace="";
part="name=john age=13 year=2001";
Pattern p=Pattern.compile(pattern);
Matcher m=p.matcher(part);
part=m.replaceAll(replace);
System.out.println(part);
为此,您需要将以下软件包导入程序:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
希望对您有帮助。
#3楼
该问题的最正确答案是:
String mysz2 = mysz.replaceAll("\\s","");
我只是从其他答案中改编了这段代码。 我发布它的原因是,除了确切地是问题所要求的内容之外,它还表明结果以新字符串的形式返回,原始字符串并未像某些答案所暗示的那样被修改 。
(经验丰富的Java开发人员可能会说“当然,您实际上不能修改String”,但是此问题的目标读者可能不知道这一点。)
#4楼
mysz = mysz.replace(" ","");
首先有空间,其次没有空间。
然后就完成了。
#5楼
你应该用
s.replaceAll("\\s+", "");
代替:
s.replaceAll("\\s", "");
这样,它将在每个字符串之间使用多个空格。 上述正则表达式中的+号表示“一个或多个\\ s”
#6楼
public static void main(String[] args) { String s = "name=john age=13 year=2001";String t = s.replaceAll(" ", "");System.out.println("s: " + s + ", t: " + t);
}Output:
s: name=john age=13 year=2001, t: name=johnage=13year=2001
#7楼
处理字符串操作的一种方法是来自Apache commons的StringUtils。
String withoutWhitespace = StringUtils.deleteWhitespace(whitespaces);
你可以在这里找到它。 commons-lang包含更多内容,并且得到了很好的支持。
#8楼
如果您还需要删除牢不可破的空间,则可以这样升级代码:
st.replaceAll("[\\s|\\u00A0]+", "");
#9楼
有很多方法可以解决此问题。 您可以使用字符串的拆分功能或替换功能。
有关更多信息,请参见smilliar问题http://techno-terminal.blogspot.in/2015/10/how-to-remove-spaces-from-given-string.html
#10楼
import java.util.*;
public class RemoveSpace {public static void main(String[] args) {String mysz = "name=john age=13 year=2001";Scanner scan = new Scanner(mysz);String result = "";while(scan.hasNext()) {result += scan.next();}System.out.println(result);}
}
#11楼
您可以这样简单地通过
String newMysz = mysz.replace(" ","");
#12楼
String a="string with multi spaces ";
//or this
String b= a.replaceAll("\\s+"," ");
String c= a.replace(" "," ").replace(" "," ").replace(" "," ").replace(" "," ").replace(" "," ");
//任何空格都可以正常工作*不要忘记字符串b中的空格
#13楼
使用Pattern And Matcher,它更加动态。
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class RemovingSpace {/*** @param args* Removing Space Using Matcher*/public static void main(String[] args) {String str= "jld fdkjg jfdg ";String pattern="[\\s]";String replace="";Pattern p= Pattern.compile(pattern);Matcher m=p.matcher(str);str=m.replaceAll(replace);System.out.println(str); }
}
#14楼
最简单的方法是使用commons-lang3
库的org.apache.commons.lang3.StringUtils
类,例如“ commons-lang3-3.1.jar
”。
在输入字符串上使用静态方法“ StringUtils.deleteWhitespace(String str)
”,从其中删除所有空格后,它将返回一个字符串。 我尝试了您的示例字符串“ name=john age=13 year=2001
”,它精确地返回了您想要的字符串-“ name=johnage=13year=2001
”。 希望这可以帮助。
#15楼
使用mysz.replaceAll("\\\\s+","");
#16楼
您可以在不使用replaceAll()或Java中的任何预定义方法的情况下实现此目的。 这种方式是首选: -
public class RemoveSpacesFromString {public static void main(String[] args) {// TODO Auto-generated method stubString newString;String str = "prashant is good" ;int i;char[] strArray = str.toCharArray();StringBuffer sb = new StringBuffer();for(i = 0; i<strArray.length; i++){if(strArray[i]!= ' ' && strArray[i]!= '\t'){sb.append(strArray[i]);}}System.out.println(sb);/*newString = str.replaceAll(" " , "");System.out.println(newString);*/}
}
#17楼
要删除示例中的空格,这是另一种方法:
String mysz = "name=john age=13 year=2001";
String[] test = mysz.split(" ");
mysz = String.join("", mysz);
这样做是将其转换为一个以空格为分隔符的数组,然后将数组中的各项组合在一起而没有空格。
它工作得很好并且易于理解。
#18楼
使用apache字符串util类最好避免NullPointerException
org.apache.commons.lang3.StringUtils.replace("abc def ", " ", "")
输出量
abcdef
#19楼
public static String removeWhiteSpaces(String str){String s = "";char[] arr = str.toCharArray();for (int i = 0; i < arr.length; i++) {int temp = arr[i];if(temp != 32 && temp != 9) { // 32 ASCII for space and 9 is for Tabs += arr[i];}}return s;
}
这可能会有所帮助。
#20楼
将每组文本分成自己的子字符串,然后连接这些子字符串:
public Address(String street, String city, String state, String zip ) {this.street = street;this.city = city;// Now checking to make sure that state has no spaces...int position = state.indexOf(" ");if(position >=0) {//now putting state back together if it has spaces...state = state.substring(0, position) + state.substring(position + 1); }
}
#21楼
可以使用Character Class中的isWhitespace函数删除空格。
public static void main(String[] args) {String withSpace = "Remove white space from line";StringBuilder removeSpace = new StringBuilder();for (int i = 0; i<withSpace.length();i++){if(!Character.isWhitespace(withSpace.charAt(i))){removeSpace=removeSpace.append(withSpace.charAt(i));}}System.out.println(removeSpace);
}
#22楼
字符串中也存在其他空格字符。因此,我们可能需要从字符串中替换空格字符。
例:无间断空间,3个电磁区,标点空间
这是空格char的列表http://jkorpela.fi/chars/spaces.html
所以我们需要修改
\\ u2004我们用于三个PER-EM空间
s.replaceAll(“ [\\ u0020 \\ u2004]”,“”)
#23楼
在Kotlin中使用st.replaceAll("\\\\s+","")
时,请确保用Regex包装"\\\\s+"
:
"myString".replace(Regex("\\s+"), "")
#24楼
st.replaceAll("\\\\s+","")
删除所有空格和不可见字符(例如,tab, \\n
)。
st.replaceAll("\\\\s+","")
和st.replaceAll("\\\\s","")
产生相同的结果。
第二个正则表达式比第一个正则表达式快20%,但是随着连续空格数量的增加,第一个正则表达式的性能要好于第二个正则表达式。
将值分配给变量(如果不直接使用):
st = st.replaceAll("\\s+","")
#25楼
您已经从古塞尔·科卡(Gursel Koca)得到了正确的答案,但是我相信这很有可能不是您真正想做的。 如何解析键值呢?
import java.util.Enumeration;
import java.util.Hashtable;class SplitIt {public static void main(String args[]) {String person = "name=john age=13 year=2001";for (String p : person.split("\\s")) {String[] keyValue = p.split("=");System.out.println(keyValue[0] + " = " + keyValue[1]);}}
}
输出:
名字=约翰
年龄= 13
年= 2001
#26楼
怎么样replaceAll("\\\\s", "")
。 请参考这里 。
#27楼
replaceAll("\\s","")
\\w
=任何文字字符
\\W
=任何非文字字符(包括标点符号等)
\\s
=空格字符(包括空格,制表符等)
\\S
=任何非空格字符(包括字母和数字,以及标点符号等)
(编辑:如前所述,如果希望\\s
到达正则表达式引擎,则需要转义反斜杠,从而导致\\\\s
。)
#28楼
\\W
表示“非文字字符”。 空格字符的模式为\\s
。 这在Pattern javadoc中有详细记录 。
#29楼
您还可以查看下面的Java代码。 以下代码不使用任何“内置”方法。
/*** Remove all characters from an alphanumeric string.*/
public class RemoveCharFromAlphanumerics {public static void main(String[] args) {String inp = "01239Debashish123Pattn456aik";char[] out = inp.toCharArray();int totint=0;for (int i = 0; i < out.length; i++) {System.out.println(out[i] + " : " + (int) out[i]);if ((int) out[i] >= 65 && (int) out[i] <= 122) {out[i] = ' ';}else {totint+=1;}}System.out.println(String.valueOf(out));System.out.println(String.valueOf("Length: "+ out.length));for (int c=0; c<out.length; c++){System.out.println(out[c] + " : " + (int) out[c]);if ( (int) out[c] == 32) {System.out.println("Its Blank");out[c] = '\'';}}System.out.println(String.valueOf(out));System.out.println("**********");System.out.println("**********");char[] whitespace = new char[totint];int t=0;for (int d=0; d< out.length; d++) {int fst =32;if ((int) out[d] >= 48 && (int) out[d] <=57 ) {System.out.println(out[d]);whitespace[t]= out[d];t+=1;}}System.out.println("**********");System.out.println("**********");System.out.println("The String is: " + String.valueOf(whitespace));}
}
输入:
String inp = "01239Debashish123Pattn456aik";
输出:
The String is: 01239123456
#30楼
private String generateAttachName(String fileName, String searchOn, String char1) {return fileName.replaceAll(searchOn, char1);
}String fileName= generateAttachName("Hello My Mom","\\s","");
#31楼
如果要从字符串中删除所有空格:
public String removeSpace(String str) {String result = "";for (int i = 0; i < str.length(); i++){char c = str.charAt(i); if(c!=' ') {result += c;}}return result;
}
在Java中从字符串中删除空格相关推荐
- java:去除字符串中空格 、 oracle (+) 、 mysql中数值运算符和函数
java:去除字符串中空格 http://www.cnblogs.com/LiuChunfu/p/5661810.html oracle:oracle (+) https://zhidao.baidu ...
- java 判断 中文字符_java中判断字符串中是否有中文字符
package com.meritit.test; public class TestChart { public static void main(String[] args) throws Exc ...
- java 匹配最后一次出现的字符_在Java中查找字符串中字符的最后一次出现
使用该lastIndexOf()方法在Java中查找字符串中字符的最后一次出现. 假设以下是我们的字符串.String myStr = "Amit Diwan"; 在上面的字符串中 ...
- java字符串确定汉字_java中判断字符串中汉字的个数
使用方法3与方法4时需要注意一些问题,代码中会有注释. 代码如下: package 包名; import java.util.ArrayList; import java.util.regex.Mat ...
- 重复最多字符次数java_利用Java实现求字符串中出现次数最多的字符及次数
利用Java实现求字符串中出现次数最多的字符及次数 发布时间:2020-11-12 16:57:24 来源:亿速云 阅读:108 作者:Leah 这篇文章将为大家详细讲解有关利用Java实现求字符串中 ...
- Java实现统计字符串中的字母和数字分别有多少个
Java实现统计字符串中的字母和数字分别有多少个 需求 编写程序,由键盘录入一个字符串,统计字符串中英文字母和数字分别有多少个.比如:Hello12345World中字母:10个,数字:5个. 设计思 ...
- 怎么批量删除html里的字段,如何从Excel中的字符串中删除所有HTML标签?
如何从Excel中的字符串中删除所有HTML标签? 如果您的工作表包含用HTML标记括起来的文本字符串,现在,您想要从字符串中删除所有HTML标记,以使单元格清晰可见,如下面的屏幕截图所示. 本文,我 ...
- 从Google表格中的字符串中提取多个特定长度的数字子串的解决思路
问题描述: 我只需要从Google 表格中的字符串中拆分或提取由 8 位数字组成的数字. 我尝试过SPLITorREGEXREPLACE但我找不到只获取该长度的数字的方法,我只获取字符串中的所有数字! ...
- python中判断字符串中出现次数最多的字母
python中判断字符串中出现次数最多的字母 import string def check(text):text = text.lower()return max(string.ascii_lowe ...
最新文章
- api分层内部外部 spring_java - Spring boot restful API分层架构验证 - SO中文参考 - www.soinside.com...
- 项目托管到GitHub及简单使用
- 武林外史java游戏,武林外史_网络游戏专区_腾讯游戏频道
- js中null,undefined,false,0,'',[],{}判断方法
- 有什么办法可以判断页面是静态还是动态?_你知道seo到底是什么吗?该怎么优化?...
- 2018年慈溪职高计算机实验班2019,包场高级中学(创新实验班)2019年中考录取分数线...
- MySQL数据库储存引擎Inoodb一--记录储存结构
- [python]python pandas 模块
- 一个项目部署多个节点会导致锁失效么_不为人知的分布式锁实现,全都在这里了
- cass连接复合线命令 lisp_南方CASS和AutoCAD快捷命令大全
- ps图片去水印-ps图片去水印教程步骤
- 移动端webscoket连接失败---code1006
- Crypto.jsAPI官方快速使用指南--全到你掉牙
- 让进程在后台可靠运行的几种方法
- w7上 android模拟器,win7系统运行安卓模拟器的操作方法
- 谷歌code访问_Google Code-in任务和青少年奖励
- 2021襄阳五中学高考成绩查询,高考快讯|襄阳五中2021名考生参加2021年高考
- 软著 --- 注册与实名认证
- 51信用卡孙海涛:信用卡账单背后的大数据 | 万物互联创新大会
- java.lang.NoSuchMethodException错误