CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

如何转义英文单引号

楼主chenglu123(斯科尔斯)2004-12-01 15:53:02 在 Java / J2SE / 基础类 提问

public   class   test   {  
  public   static   void   main(String[]   args)   {  
  String   s   =   new   String("阿'哦");  
  s.replaceAll("\'","\\\'");  
  System.out.println(s);  
  }  
  }  
  我想把s中的英文单引号,转义为反斜杠加单引号。也就是说转为"啊\'哦"。如何实现? 问题点数:20、回复次数:20Top

1 楼buzhiming99(不知名)回复于 2004-12-01 16:16:26 得分 0

s1.replaceAll("\\'","\\\\\'")Top

2 楼treeroot(旗鲁特)回复于 2004-12-01 16:21:36 得分 0

是替换吧,怎么叫转义??  
  replaceAll("'","\\\\'");Top

3 楼thomas_20(执子之手,与子偕老)回复于 2004-12-01 16:21:39 得分 0

s   =   s.replaceAll("\'","\\\\'");Top

4 楼crane_hit(柳絮)回复于 2004-12-01 16:21:58 得分 20

很简单,就拿你这份代码来说吧:  
  多加一个“\\”,然后接收一下replaceAll()的返回值就行了。  
  public   class   test   {  
  public   static   void   main(String[]   args)   {  
  String   s   =   new   String("阿'哦");  
  s=s.replaceAll("\'",   "\\\\\'");  
  System.out.println(s);  
  }  
  }  
   
  Top

5 楼thomas_20(执子之手,与子偕老)回复于 2004-12-01 16:22:16 得分 0

s   =   s.replaceAll("\'","\\\\'");Top

6 楼wangjm02(otter)回复于 2004-12-01 16:30:33 得分 0

s=s.replaceAll("'",   "\\\\'");Top

7 楼zhaohao19853(小人物)回复于 2004-12-01 16:48:05 得分 0

后面第2个参数的内容,为什么我打一个\符号,不行呢?  
  高手解释一下,谢谢了Top

8 楼chenglu123(斯科尔斯)回复于 2004-12-01 16:50:51 得分 0

谢谢crane_hit(柳絮)的帮助,搞号了    
  wangjm02(otter)、treeroot(根根)两位,能不能自己试试先,再过来回帖呀,都是错的。Top

9 楼songwei76(笑笑)回复于 2004-12-01 16:55:17 得分 0

哇,真细致啊。借问,是什么道理呢?Top

10 楼chenglu123(斯科尔斯)回复于 2004-12-01 16:55:54 得分 0

因为\是特殊的字符,本身是个转义字符,所以需要转义的。否则电脑怎么知道你打\,是为了转义还是显示\。(\n,\t,\r)(换行,tab,回车)Top

11 楼songwei76(笑笑)回复于 2004-12-01 20:04:22 得分 0

呵呵,这个我还知道。就是不明白为什么后来多了两个\\Top

12 楼kigoqzw(大号睡衣)回复于 2004-12-01 20:52:04 得分 0

s=s.replaceAll("\'",   "\\\\\'");  
  第二个参数前两个斜杠为那个斜杠转义,剩下的两个斜杠就是为最后一个单引号准备的!Top

13 楼chenglu123(斯科尔斯)回复于 2004-12-02 07:44:58 得分 0

songwei76(笑笑)   :我说的那些不是回答你的提问的,不好意思,让你误解了。  
  我很想问一下,为什么  
  s=s.replaceAll("\'",   "\\\\\'");  
  s=s.replaceAll("\'","\\\\'");  
  都可以执行且都能得出正确的答案。如果第二种是   kigoqzw(大号睡衣)的那种解释,那第一种怎么理解呢?Top

14 楼YOUTAO89()回复于 2004-12-02 09:38:07 得分 0

应该这样:去掉   \.  
   
  public   class   test   {  
  public   static   void   main(String[]   args)   {  
  String   s   =   new   String("阿'哦");  
  s.replaceAll("\'","\\'");  
  System.out.println(s);  
  }  
  }  
  Top

15 楼fog628(无名)回复于 2004-12-02 10:30:10 得分 0

System.out.println("\\'".equals("\\\'"));       //结果为true  
  System.out.println("\\'".equals("\\'"));         //结果为trueTop

16 楼chenglu123(斯科尔斯)回复于 2004-12-03 10:02:51 得分 0

to:   YOUTAO89()  
  发言前请先试试看,你那个肯定是错的。你可能还根本不知道replaceAll()其实是调用政则表达式的吧!  
  Top

17 楼treeroot(旗鲁特)回复于 2004-12-03 10:45:21 得分 0

单引号为什么要转义?Top

18 楼treeroot(旗鲁特)回复于 2004-12-03 10:56:38 得分 0

搂主为何说我的不对?  
  六种写法都是对的  
  1.s.replaceAll("'","\\\\'");  
  2.s.replaceAll("'","\\\\\'");  
  3.s.replaceAll("\'","\\\\'");  
  4.s.replaceAll("\'","\\\\\'");  
  5.s.replaceAll("\\'","\\\\'");  
  6.s.replaceAll("\\'","\\\\\'");  
  很显然第一种写法最简洁。Top

19 楼treeroot(旗鲁特)回复于 2004-12-03 11:06:23 得分 0

谢谢crane_hit(柳絮)的帮助,搞号了    
  wangjm02(otter)、treeroot(根根)两位,能不能自己试试先,再过来回帖呀,都是错的。  
   
  真实无法忍受搂住的态度,自己的程序错了,还信口开河。  
  看看你的程序:  
  public   class   test   {  
  public   static   void   main(String[]   args)   {  
  String   s   =   new   String("阿'哦");  
  s.replaceAll("\'","\\\'");//这一句不可能改变s的值,应该是s=s.repla.....  
  System.out.println(s);  
  }  
  }  
  我还觉得奇怪呢,我怎么会连这样的题都弄错,还误人子弟,我一般没有十足的把握都不会回答的,而且我一般都会先测试通过的。Top

20 楼chenglu123(斯科尔斯)回复于 2004-12-03 15:54:50 得分 0

treeroot(根根):首先谢谢你,我说那句没有别的意思,因为那时候搞很久都没有搞好,所以用词不妥。我承认“s.replaceAll("\'","\\\'")”这个地方是我写错了,所以我怎么搞不好,所以才来发帖子。但是你回的帖子我放进我的代码试了,没有成功啊!我当然会认为你的代码是错的啦!(难道你测了我的代码了嘛?测了还会这样回嘛?)。这个问题也没有再讨论的价值了。Top

相关问题

  • 单引号的转义序列
  • 如何加入单引号?
  • 如何屏蔽单引号?
  • 很普遍的问题!SQL查询中如何对待英文状态下的单引号的问题?
  • 在oracle中,单引号如何表示?
  • 如何插入单引号,谢谢!
  • 如何往字段里写入 ' (单引号)
  • 急问。。。。如何在字符串中加入单引号
  • 如何用sql语句查内容有单引号的记录
  • 如何在document.write里加双引号和单引号?

关键词

  • 代码
  • replaceall
  • 转义
  • 单引号
  • 斜杠
  • treeroot
  • 谢谢
  • 根根
  • 阿
  • println

得分解答快速导航

  • 帖主:chenglu123
  • crane_hit

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo