我有一个像这样的字符串:

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中从字符串中删除空格相关推荐

  1. java:去除字符串中空格 、 oracle (+) 、 mysql中数值运算符和函数

    java:去除字符串中空格 http://www.cnblogs.com/LiuChunfu/p/5661810.html oracle:oracle (+) https://zhidao.baidu ...

  2. java 判断 中文字符_java中判断字符串中是否有中文字符

    package com.meritit.test; public class TestChart { public static void main(String[] args) throws Exc ...

  3. java 匹配最后一次出现的字符_在Java中查找字符串中字符的最后一次出现

    使用该lastIndexOf()方法在Java中查找字符串中字符的最后一次出现. 假设以下是我们的字符串.String myStr = "Amit Diwan"; 在上面的字符串中 ...

  4. java字符串确定汉字_java中判断字符串中汉字的个数

    使用方法3与方法4时需要注意一些问题,代码中会有注释. 代码如下: package 包名; import java.util.ArrayList; import java.util.regex.Mat ...

  5. 重复最多字符次数java_利用Java实现求字符串中出现次数最多的字符及次数

    利用Java实现求字符串中出现次数最多的字符及次数 发布时间:2020-11-12 16:57:24 来源:亿速云 阅读:108 作者:Leah 这篇文章将为大家详细讲解有关利用Java实现求字符串中 ...

  6. Java实现统计字符串中的字母和数字分别有多少个

    Java实现统计字符串中的字母和数字分别有多少个 需求 编写程序,由键盘录入一个字符串,统计字符串中英文字母和数字分别有多少个.比如:Hello12345World中字母:10个,数字:5个. 设计思 ...

  7. 怎么批量删除html里的字段,如何从Excel中的字符串中删除所有HTML标签?

    如何从Excel中的字符串中删除所有HTML标签? 如果您的工作表包含用HTML标记括起来的文本字符串,现在,您想要从字符串中删除所有HTML标记,以使单元格清晰可见,如下面的屏幕截图所示. 本文,我 ...

  8. 从Google表格中的字符串中提取多个特定长度的数字子串的解决思路

    问题描述: 我只需要从Google 表格中的字符串中拆分或提取由 8 位数字组成的数字. 我尝试过SPLITorREGEXREPLACE但我找不到只获取该长度的数字的方法,我只获取字符串中的所有数字! ...

  9. python中判断字符串中出现次数最多的字母

    python中判断字符串中出现次数最多的字母 import string def check(text):text = text.lower()return max(string.ascii_lowe ...

最新文章

  1. api分层内部外部 spring_java - Spring boot restful API分层架构验证 - SO中文参考 - www.soinside.com...
  2. 项目托管到GitHub及简单使用
  3. 武林外史java游戏,武林外史_网络游戏专区_腾讯游戏频道
  4. js中null,undefined,false,0,'',[],{}判断方法
  5. 有什么办法可以判断页面是静态还是动态?_你知道seo到底是什么吗?该怎么优化?...
  6. 2018年慈溪职高计算机实验班2019,包场高级中学(创新实验班)2019年中考录取分数线...
  7. MySQL数据库储存引擎Inoodb一--记录储存结构
  8. [python]python pandas 模块
  9. 一个项目部署多个节点会导致锁失效么_不为人知的分布式锁实现,全都在这里了
  10. cass连接复合线命令 lisp_南方CASS和AutoCAD快捷命令大全
  11. ps图片去水印-ps图片去水印教程步骤
  12. 移动端webscoket连接失败---code1006
  13. Crypto.jsAPI官方快速使用指南--全到你掉牙
  14. 让进程在后台可靠运行的几种方法
  15. w7上 android模拟器,win7系统运行安卓模拟器的操作方法
  16. 谷歌code访问_Google Code-in任务和青少年奖励
  17. 2021襄阳五中学高考成绩查询,高考快讯|襄阳五中2021名考生参加2021年高考
  18. 软著 --- 注册与实名认证
  19. 51信用卡孙海涛:信用卡账单背后的大数据 | 万物互联创新大会
  20. java.lang.NoSuchMethodException错误

热门文章

  1. Datadog Agent是啥?它消耗什么资源?
  2. html5 Canvas画图3:1像素线条模糊问题
  3. 通过代码触发dropdownlist_SelectedIndexChanged事件。
  4. Linux下的 API Hook
  5. java-redis字符类数据操作示例(一)
  6. CentOS 7 怎样自动连接网络
  7. 调整手机titlebar与app的titlebar相衔接
  8. UnrealEngine4和3DMax的配合_准备资源
  9. 夺命雷公狗---Redis---3-Redis常用命令
  10. Github fork其他项目的分支与主干保持同步