- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个示例字符串(带有换行符/缩进,标记为“”):加密货币、水果和方向条目的数量可能会有所不同,但格式/语法保持不变。
注意:我还没有弄清楚如何在问题中添加空格/缩进,所以如果有人知道如何做到这一点,请向我发送说明。谢谢!
bitcoin litecoin 11
exit
bitcoin litecoin 16
""ripple 77
""exit
exit
**apple banana 55
exit
apple banana 55/2
""coconut 1
""exit
""dragonfruit 2
""exit
exit**
north west 11
exit
south west 7
""north 12
""exit
exit
目标是过滤掉所有与水果相关的文本及其相应的导出(以粗体标记)。
我计划进行字符串替换,将水果子字符串替换为没有“”的内容。开始索引可以通过indexOf(“applebanana”)找到,但是endIndex有点棘手,因为我们在最后一个“applebanana”之后有多个“exit”。
我们所追求的导出是最后一个“苹果香蕉”条目之后的第一个非缩 import/export 。最后一个“苹果香蕉”条目可以通过lastIndexOf(“苹果香蕉”)找到,但是我们如何匹配最后一个“苹果香蕉”的第一个非缩进退出呢?
欢迎任何有效的解决方案!谢谢!
最佳答案
假设您想要替换输入中的文本:
苹果香蕉
开头,并且[newline]exit
结尾exit
语句具有缩进的特性(即通过 ""
)...您可以使用以下基于正则表达式的解决方案:
// original text
String text = "bitcoin litecoin 11\nexit\nbitcoin litecoin 16\n\"\"ripple 77\n\"\"exit\nexit\napple banana 55\nexit"
+ "\napple banana 55/2\n\"\"coconut 1\n\"\"exit\n\"\"dragonfruit 2\n\"\"exit\nexit\nnorth west 11\nexit"
+ "\nsouth west 7\n\"\"north 12\n\"\"exit\nexit";
// | starting with fruit
// | | anything in the middle
// | | | ends with newline + exit, then
// | | | | newline or end of input
// | | | | | dot also represents
// | | | | | newlines
Pattern p = Pattern.compile("apple banana.*?\nexit(\n|$)", Pattern.DOTALL);
StringBuffer replacement = new StringBuffer();
Matcher m = p.matcher(text);
// iteratively replacing with empty
while (m.find()) {
m.appendReplacement(replacement, "");
}
// appending tail text after last find
m.appendTail(replacement);
System.out.println(replacement);
输出
bitcoin litecoin 11
exit
bitcoin litecoin 16
""ripple 77
""exit
exit
north west 11
exit
south west 7
""north 12
""exit
exit
关于Java字符串换行/缩进匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48446799/
在 Vaadin 7.0,显示时JavaBean Table 中的数据与 BeanContainer ,用新数据刷新表的正确方法是什么? 最佳答案 该表通过监听器监视表项的属性。如果您通过表的 Ite
首先,我使用的是带有 Axis2 1.6.2 的 eclipse,我正在 tomcat 6 上部署我创建的 Web 服务。Web 服务是在 eclipse 中通过自上而下的方法创建的。 我被要求使对我
我已将 Rails 3.1.1 应用程序升级到 Rails 3.1.3,现在,对于每个请求,它仅响应错误数量的参数(3 for 1)。不幸的是,它没有说明错误在哪里,并且应用程序跟踪为空。我认为存在一
我是一名优秀的程序员,十分优秀!