我将SQL查询存储在我的strings.xml文件中,并且我想使用String.Format在代码中构建最终的字符串。 SELECT语句使用like,如下所示:

SELECT Field1, Field2 FROM mytable WHERE Field1 LIKE '%something%'

为了格式化,我将“ something”替换为%1 $ s,因此它变为:

SELECT Field1, Field2 FROM mytable WHERE Field1 LIKE \'%%1$s%\'

我用反斜杠转义了单引号。 但是,我无法逃脱%符号。

如何在我的strings.xml文件中包含一个like语句?

#1楼

为了补充先前说明的解决方案,请使用:

str = str.replace("%", "%%");

#2楼

这是更强大的正则表达式替换,不会替换输入中已加倍的%%。

str = str.replaceAll("(?:[^%]|\\A)%(?:[^%]|\\z)", "%%");

#3楼

我不敢相信现在这不是一个简单的解决问题,但是,嘿,这是我要解决的问题

(?:[^%]|^)(?:(%%)+|)(%)(?:[^%])

要在将消息传递给String.format之前对其进行清理,可以使用以下命令

Pattern p = Pattern.compile("(?:[^%]|^)(?:(%%)+|)(%)(?:[^%])");

Matcher m1 = p.matcher(log);

StringBuffer buf = new StringBuffer();

while (m1.find())

m1.appendReplacement(buf, log.substring(m1.start(), m1.start(2)) + "%%" + log.substring(m1.end(2), m1.end()));

// Return the sanitised message

String escapedString = m1.appendTail(buf).toString();

请注意,这可用于任意数量的格式字符,因此它将%替换为%%,%%%替换为%%%%,%%%%%替换为%%%%%%等。

它将留下任何已经转义的字符(例如,%%,%%%%等)

#4楼

要逃脱% ,您需要将其加倍: %% 。

java中string中转义_如何在String.Format中转义%?相关推荐

  1. 怎样在表格中选出同一类_如何在excel表格中同一个框选择下一行 - 卡饭网

    在excel表格中怎样设置选择下拉列表? 在excel表格中怎样设置选择下拉列表? 在excel表格制作中,经常会遇到固定选项输入,例如性别( 男  女),婚否(是, 否),在制作考勤表的时候也可以利 ...

  2. java pdf添加透明水印_如何在PDF文件中添加透明水印

    原标题:如何在PDF文件中添加透明水印 有些文件添加水印,但是又不想水印影响文件的使用有时候会设置透明水印,那么PDF怎么设置透明水印呢,应该有很多的小伙伴们都很好奇应该怎么做吧,接下来就为大家分享一 ...

  3. 如何提取edit control中输入的数据_如何在Power Query中提取数据——列表篇(1)

    表名为列表,第一步骤名称为源 (一)从头开始提取 1. 获取列表第一个 List.First(list as list, optionaldefaultValue as any)as any 返回列表 ...

  4. 如何在代码中让按钮高亮_如何在C代码中插入移位寄存器

    上期内容:AI Engine到底是什么? 众所周知,标准C或C++代码是没有HDL代码的并行性和时序性的,那么如何在C代码中插入寄存器呢?Vivado HLS提供了IP库,这些IP库使得HLS可直接从 ...

  5. ux设计中的各种地图_如何在UX设计中使用颜色

    ux设计中的各种地图 Color is the mother tongue of the subconscious. 颜色是潜意识的母语. - Carl Jung -荣格 Color has more ...

  6. excel中 复制工作表_如何在Excel 2013中轻松移动或复制工作表

    excel中 复制工作表 There may be times when you want to create a new Excel worksheet based on an existing w ...

  7. java eclipse导入工程文件_如何在Eclipse软件中导入Java工程文件

    有些在学习Java编程的用户虽然会创建工程,但是对于怎么导入工程文件却不清楚,下面这篇教程我们就来为大家介绍一下,在Eclipse软件中导入Java工程文件的方法,有兴趣的朋友就来了解一下吧. 解决方 ...

  8. java生成xml 换行符_如何在XML文件中添加换行符(换行符)?

    甲换行符(又名行中断或结束时的线,EOL)是标记文本行的末尾特殊字符或字符序列.所使用的确切代码因操作系统而异:LF:    Unix CR:    Mac OS up to version 9 CR ...

  9. scala中map添加值_如何在Scala Map中反转键和值

    scala中map添加值 A Map is a data structure that stores data as key: value pair. 映射是一种将数据存储为键:值对的数据结构. Sy ...

最新文章

  1. 最新NLP架构的直观解释:多任务学习– ERNIE 2.0(附链接)| CSDN博文精选
  2. unix mysql命令大全_mySql的一些常用命令
  3. js优化阿里云图片加载(一)
  4. Panda处理文本和时序数据?首选向量化
  5. listview刷新_Flutter NestedScrollView 滑动折叠头部下拉刷新效果
  6. Linux 下多核CPU知识
  7. vim内过长字符串导致的语法加亮错误
  8. 微信公众号介绍_以及注册订阅号---微信公众号开发工作笔记0001
  9. 前端跨域问题(CORS)
  10. mysql清除旧版本_MYSQL使用INNODB时及时清理旧版本数据
  11. 服务器2003系统U盘安装方法,u启动windows2003PE工具箱
  12. date日期格式化 java,Java日期格式化常用方法
  13. Github上如何找开源代码
  14. matlab定义对角块矩阵,Matlab中的扩展块对角矩阵
  15. 移动硬盘未知usb设备(设定地址失败)
  16. 使用SPACEDESK时iPad显示Connected-Display OFF解决方法
  17. 直播预告 | 华南理工实验室专场二
  18. access字段相加_access如何对一行的几列求和
  19. 华为鸿蒙系统小窗口,mate30pro升鸿蒙后小窗应用调不出来
  20. BurpSuite实战七之使用Burp Scanner

热门文章

  1. 数据同步工具之DataX实操
  2. LDAP unexpected response: 500
  3. 一篇文章带你了解Linux
  4. R语言 | 利用tushare获取股票k线、市值、换手率,市盈率等指标
  5. 七牛云上传图片和视频
  6. XPRIZE确定十项未来保护森林所需的技术突破
  7. thinkphp6搭建后端api接口
  8. Android 之 向模拟器的sdcard中添加文件
  9. 团队管理之—— 技术债务:如何带领团队从困境中突围而出?
  10. openEuler操作系统的安装