-
JAVA中String类型的几种替换空格的方式
2017-09-25 15:51:58上次在做数据抓取的过程中,抓取下来的数据中有个空格一直难以去掉,一直到最后尝试了多种方式才去除掉,在此记录一下。 原来数据是这样,大家可以看到,字符串的两边是有空格的。 因为这个编译器会自动把那个空格...上次在做数据抓取的过程中,抓取下来的数据中有个空格一直难以去掉,一直到最后尝试了多种方式才去除掉,在此记录一下。
原来数据是这样,大家可以看到,字符串的两边是有空格的。
因为这个编译器会自动把那个空格去掉,因此只能截图保留,望谅解。
String issue = new String(" 第1151期 ");
//由于里面有空格,因此使用了多种方式去空格。
Pattern p = Pattern.compile("\\s*|\t|\r|\n");
Matcher m = p.matcher(issue);
issue = m.replaceAll("");issue = issue.replaceAll("\\u00A0","")
.replaceAll(" ", "")
.trim()
.replaceAll("\\s*", "");
System.out.println("issue:" + issue);
-
java 正则表达式的空格_(转)Java中关于空格替换的正则表达式,实例代码
2021-02-12 13:10:08句点符号 . 是通配符 , * 零次或多次,+ 一次或多次,? 零次或一次,{n} 恰好n次,{n,m} 从n到m次要记住,...public class RegTest {public static void main(String[] args) {//Java中关于空格的正则表达式String s...句点符号 . 是通配符 , * 零次或多次,+ 一次或多次,? 零次或一次,{n} 恰好n次,{n,m} 从n到m次
要记住,老是拿*当通配符,实际是 句号 . 是通配符
package test.function.excel;
public class RegTest {
public static void main(String[] args) {
//Java中关于空格的正则表达式
String str2 = "GET /index.html HTTP/1.1"; //字符串s由“GET”、“/index.html”和“HTTP/1.1”组成,中间有一个或多个空格
String tt[] = str2.split("\\s{1,}"); //按照空格分割字符串,多个空格作为一个空格对字符串进行分割
for(String str: tt)//增强的for循环
System.out.println(str);//输出:GET
// /index.html
// HTTP/1.1
String qq = str2.replaceAll(" {2,}", " ");//把字符串s中的多个空格替换为一个空格
System.out.println(qq);//输出:GET /index.html HTTP/1.1
System.out.println(str2);//输出:GET /index.html HTTP/1.1
// //split 按照空格分割字符串,多个空格作为一个空格对字符串进行分割
String strTest = "668947 18 109451074 0 0 33 700198 2335821 " ;
String resSplit[] = strTest.split("\\s{1,}") ;
for(int j =0 ;j< resSplit.length;j++){
System.out.println(resSplit[j]);
}
//句点符号 . 是通配符 , * 零次或多次,+ 一次或多次,? 零次或一次,{n} 恰好n次,{n,m} 从n到m次
String time = "dfda11:50:39" ;
if(time.matches(".*\\d{2}:\\d{2}:\\d{2}")){
System.out.println("fu he");
}else{
System.out.println("bu fu he");
}
// 不使用句点
String time2 = "dfda11:50:39" ;
if(time2.matches("\\d{2}:\\d{2}:\\d{2}")){
System.out.println("fu he");
}else{
System.out.println("bu fu he");
}
}
}
分享到:
2011-04-10 20:32
浏览 4856
评论
-
java replace替换空格_Java 替换空格
2021-02-12 23:41:45请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。public class Solution {public String replaceSpace(StringBuffer str) {for(int k...请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
public class Solution {
public String replaceSpace(StringBuffer str) {
for(int k=0;k
{
char index=str.charAt(k);
if(index==' ')
{
str.replace(k,k+1,"%20");
}
}
return str.toString();
}
}
以下是java.lang.StringBuilder.replace()方法的声明
public StringBuilder replace(int start, int end, String str)
参数
start -- 这是开始索引(包括)。
end -- end 索引(不包括)。
str -- 这是字符串,它将取代以前的内容。
String 字符串常量
StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)
简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后, JVM 的 GC 就会开始工作,那速度是一定会相当慢的。
而如果是使用 StringBuffer 类则结果就不一样了,每次结果都会对 StringBuffer 对象本身进行操作,而不是生成新的对象,再改变对象引用。所以在一般情况下我们推荐使用 StringBuffer ,特别是字符串对象经常改变的情况下。而在某些特别情况下, String 对象的字符串拼接其实是被 JVM 解释成了 StringBuffer 对象的拼接,所以这些时候 String 对象的速度并不会比 StringBuffer 对象慢,而特别是以下的字符串对象生成中, String 效率是远要比 StringBuffer 快的:
String S1 = “This is only a” + “ simple” + “ test”;
StringBuffer Sb = new StringBuilder(“This is only a”).append(“ simple”).append(“ test”);
你会很惊讶的发现,生成 String S1 对象的速度简直太快了,而这个时候 StringBuffer 居然速度上根本一点都不占优势。其实这是 JVM 的一个把戏,在 JVM 眼里,这个
String S1 = “This is only a” + “ simple” + “test”; 其实就是:
String S1 = “This is only a simple test”;所以当然不需要太多的时间了。但大家这里要注意的是,如果你的字符串是来自另外的 String 对象的话,速度就没那么快了,譬如:
String S2 = “This is only a”;
String S3 = “ simple”;
String S4 = “ test”;
String S1 = S2 +S3 + S4;
这时候 JVM 会规规矩矩的按照原来的方式去做
在大部分情况下 StringBuffer > String
StringBuffer
Java.lang.StringBuffer线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。
可将字符串缓冲区安全地用于多个线程。可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该顺序与所涉及的每个线程进行的方法调用顺序一致。
StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符串缓冲区中。append 方法始终将这些字符添加到缓冲区的末端;而 insert 方法则在指定的点添加字符。
例如,如果 z 引用一个当前内容是“start”的字符串缓冲区对象,则此方法调用 z.append("le") 会使字符串缓冲区包含“startle”,而 z.insert(4, "le") 将更改字符串缓冲区,使之包含“starlet”。
在大部分情况下 StringBuilder > StringBuffer
java.lang.StringBuilde
java.lang.StringBuilder一个可变的字符序列是5.0新增的。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。两者的方法基本相同。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!
-
java字符串空格替换
2017-10-30 10:00:33String s = "我爱 我的祖 国"; System.out.println(s.replaceAll(" ", "... // 一个或多个空格 Pattern p = Pattern.compile(regEx); Matcher m = p.matcher(s); System....String s = "我爱 我的祖 国";
System.out.println(s.replaceAll(" ", ",").trim()); //处理后输出:我爱,五星红旗 String regEx = "[' ']+"; // 一个或多个空格 Pattern p = Pattern.compile(regEx); Matcher m = p.matcher(s); System.out.println(m.replaceAll(",").trim());
System.out.println(s.lastIndexOf(" ")+1);
System.out.println(s.substring(s.lastIndexOf(" ")+1, s.length()));
- 感谢您的阅读。如果感觉文章对您有用,麻烦您动动手指点个赞,以资鼓励。谢谢!
-
Java空格替换
2020-04-04 16:05:41将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 一 调用函数 str.toString().replace(" ", "%20"); 二 写一个新的数组进行存储 public class ... -
Java中的String类和算法例子替换空格
2019-09-27 11:58:13在java中,说String是不可变的,可是为什么? 当String变量需要经常变换其值时,应该考虑使用StringBuffer类,以提高程序效率? 假设String s=new String ("wo");String s1=new String("de");s=s+s1;System.out.... -
Java-替换空格
2020-04-20 23:07:46请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy Code: public class Solution { public String replaceSpace(StringBuffer ... -
Java:空格替换
2019-07-25 18:04:47请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。 我们可以选择用StringBuilder来... -
Java之String类的替换功能,取除字符串的两段空格,按字典顺序比较两个字符串
2020-07-13 18:34:43/* * String类的其他功能 * 替换功能 ... * 取除字符串的两段空格 * String trim() * 按字典顺序比较两个字符串 * int compareTo(String str) * int compareTognoreCase(String str) */ public cl -
java正则替换空格_Java正则表达式替换移除空行和多余的空格
2021-02-12 17:42:261. 移除多余的连续空格,只留下一个空格。string.replaceAll("\\s{...续,实践中发现不工作原来\\s不光代表空格,是等于[ \t\n\x0B\f\r]\\p{Blank}{2,} 则是A space or a tab更简单的 string.replaceAll("[ ]+", " "... -
剑指offer java版 test2—字符串空格替换,及String StringBuffer和StringBuilder的区别
2020-03-01 12:20:54标题 :剑指offer java版 test2—字符串空格替换,及String StringBuffer和StringBuilder的区别 题目:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符... -
java替换空格
2019-07-02 19:28:46请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 因为我是用的java,所以可以很方便的用java中String类中的replace方法,注意... -
java实现替换空格
2019-06-19 14:11:00题目:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 考点:字符串 程序分析:可以使用StringBuffer 类中的replace(int ... -
JAVA基础(String类替换,比较功能)
2019-06-18 09:13:291,String的替换功能及案例演示 String replace(char old,char new) String replace(String old,String new) 2,String的去除字符串两空格及案例演示 String trim() 3,String的按字典顺序比较两... -
java:替换空格
2021-01-06 20:54:31替换掉字符串中的空格为%20 解法一: class Solution { public String replaceSpace(String s) { String result=""; for(int i=0;i<s.length();i++){ if(s.charAt(i)!=' '){ result+=s.charAt(i); } ... -
剑指Offer面试题4:String字符串空格替换---java实现
2018-06-30 17:35:00面试题4:请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy.”,则输出“We%20are%20happy.”。我的实现是借助了新的内存空间,即创建了一个新数组往里移动数据。代码实现:package ... -
Java实现替换空格
2017-10-23 21:34:41如题所示:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. public class ReplaceChar { /** * @param args */ public ... -
字符串中的空格替换java实现
2020-02-06 16:55:11题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 方法: 直接使用str.toString().replaceAll(" " , “%20”)实现 ... -
Java 中的 String的不可变性/Java中replace()深层理解/剑指offer替换空格理解
2020-08-02 17:44:49今天在做剑指offer第三题替换空格时,产生了这样的疑问,先看一段代码: public String replaceSpace(StringBuffer str) { String string = str.toString(); string.replace(" ","%20"); return string; } ... -
(转)Java中关于空格替换的正则表达式,实例代码
2011-04-10 20:32:16句点符号 . 是通配符 , * 零次或多次,+ 一次或多次,? 零次或一次,{n} 恰好n次,{n,m} 从n到m次要记住,老是拿*当通配符,实际...public class RegTest { public static void main(String[] args) { //Java中关... -
Java中关于空格替换的正则表达式,实例代码[转]
2011-12-19 16:07:00句点符号 . 是通配符 , * 零次或多次,+ 一次或多次,? 零次或一次,{n} 恰好n次,{n,m} 从n到m次 要记住,老是拿*当通配符,实际是 句号 ....public static void main(String[] args) { /... -
空格替换Java实现
2017-11-07 13:09:16请编写一个方法,将字符串中的空格全部替换为“%20”。... 给定一个string iniString 为原始的串,以及串的长度 int len, 返回替换后的string。 测试样例: “Mr John Smith”,13 返回:”Mr%20John%20S -
java 将空格字符替换为特殊字符串
2020-05-11 23:48:17// 请实现一个函数,将一个字符串中的每个空格替换成“%20”。 // 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 public static void main(String[] args) { String str = "We Are ... -
java 空格替换_Java如何用字符串中的单个空格替换两个或多个空格,并删除前导和尾随空格...
2021-02-12 13:30:07试试这个:Stringafter=before.trim().replaceAll("+","");另见不trim()雷吉也有可能只用一个replaceAll,但这比...尽管如此,这里提供它只是为了说明regex可以做什么:String[]tests={"x",//[x]"123",//[123]"",... -
牛客网刷题java之去除空格,将一个字符串中的每个空格替换,利用的是Stringbuffer
2019-05-12 18:41:40请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 public class Solution { public String replaceSpace(StringBuffer str) {... -
替换空格 java
2018-10-07 12:25:17请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 代码1: public class Solution { public String replaceSpace...
-
sonar-scanner-msbuild-5.0.4.24009-net46.zip
-
k-源码
-
【Python-随到随学】 FLask第一周
-
什么,Nessus又双叒叕安装失败了?
-
基于java的网页内容管理
-
朱老师鸿蒙系列课程第1期-3.鸿蒙系统Harmonyos源码配置和管理
-
疾病预防控制中心-源码
-
JAVA学习笔记(一)
-
Samsung-SSD-SMART-ATTRIBUTES-APR16J.pdf
-
vscode终端执行cnpm出错的解决办法
-
Mycat 实现 MySQL的分库分表、读写分离、主从切换
-
深度学习应用实例.zip
-
基于Qt的LibVLC开发教程
-
MySQL NDB Cluster 负载均衡和高可用集群
-
机械革命蛟龙5怎么样?测评值得买吗?详细参数性能点评
-
JavaByte.exe.zip
-
STL注意事项和提醒
-
PowerBI重要外部工具详解
-
c++ 内联函数
-
零基础极简以太坊智能合约开发环境搭建并开发部署