如何用String.replaceFirst函数替换“?”

lzh5566 2007-03-14 04:29:15
String str = "where db between ? and ?";
str.replaceFirst("\\?", "1234");
str.replaceFirst("\\?", "5678");

希望得到的结果是:str == "where db between 1234 and 5678";

不知怎么回事,怎么搞也搞不定啊。。。

大虾帮我!谢谢

该函数定义如下:
public String replaceFirst(String regex,
String replacement)
使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的第一个子字符串。
...全文
844 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyang528378 2012-01-10
  • 打赏
  • 举报
回复
汗,我也是犯了这样的低级错误
str = str.replaceFirst("\\?","1234")不是str.replaceFirst("\\?","1234")!
跟伟哥学IOS 2012-01-09
  • 打赏
  • 举报
回复
String str = "where db between @number1 and @number2 ";
str = str.replaceFirst( "@number1", "1234 ");
str = str.replaceFirst( "@number2 ", "5678 ");
System.out.println(str);

用这个试试
lzh5566 2007-03-14
  • 打赏
  • 举报
回复
谢谢。。。。。。。谢谢。。。。

我看错了。。。。。。。。
lzh5566 2007-03-14
  • 打赏
  • 举报
回复
这个我上面写的一样啊,,,,

不行啊。。。
捏造的信仰 2007-03-14
  • 打赏
  • 举报
回复
String str = "where db between ? and ?";
str = str.replaceFirst("\\?", "1234");
str = str.replaceFirst("\\?", "5678");
System.out.println(str);

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧