Java 仅在不成对时更换
我有下面的字符串Java 仅在不成对时更换,java,Java,我有下面的字符串 <b>bold</b> ...... <b>bold1..... <b>bold2</b> <u>12333</u> 粗体。。。。。。黑体字1。。。。。黑体字12333 我想要这个 <b>bold</b> ...... <b>bold1..... <b>bold2</b> <u>12333</u&g
<b>bold</b> ...... <b>bold1..... <b>bold2</b> <u>12333</u>
粗体。。。。。。黑体字1。。。。。黑体字12333
我想要这个
<b>bold</b> ...... <b>bold1..... <b>bold2</b> <u>12333</u>
粗体。。。。。。bbold1。。。。。黑体字12333
i、 e仅当未完成
或
配对时,才更换
我正在尝试
replaceAll(“,”)
,但不知道如何避免出现配对。使用简单的replaceAll
无法做到这一点。我建议这样做(对于..
对;对于
/
再次这样做):
字符串的偏移量。(一个好的数据结构是将偏移推送到堆栈上。)
字符串执行相同的操作
的上一个偏移大于
的上一个偏移,而
的上一个偏移又大于
的下一个上一个偏移)
替换
和用code/code替换code>时,不需要调整剩余的偏移量
另一种策略是一次复制一个字符,当您到达
时暂停复制。使用简单的replaceAll
无法完成此操作。我建议这样做(对于..
对;对于
/
再次这样做):
搜索字符串并查找所有
字符串的偏移量。(一个好的数据结构是将偏移推送到堆栈上。)
对所有
字符串执行相同的操作
从末端开始工作(弹出堆栈),检查偏移是否正确配对(即,
的上一个偏移大于
的上一个偏移,而
的上一个偏移又大于
的下一个上一个偏移)
当发现不匹配时,在相关偏移量处进行适当的替换。在各种不匹配情况下(包括处理一个堆栈为空)的操作逻辑留给读者作为练习。:)
重复此操作,直到处理完所有偏移
从末尾开始工作的原因是,当用
替换
和用code/code替换code>
时,不需要调整剩余的偏移量
另一种策略是一次复制一个字符,当您到达
时暂停复制。使用简单的replaceAll
无法完成此操作。我建议这样做(对于..
对;对于
/
再次这样做):
搜索字符串并查找所有
字符串的偏移量。(一个好的数据结构是将偏移推送到堆栈上。)
对所有
字符串执行相同的操作
从末端开始工作(弹出堆栈),检查偏移是否正确配对(即,
的上一个偏移大于
的上一个偏移,而
的上一个偏移又大于
的下一个上一个偏移)
当发现不匹配时,在相关偏移量处进行适当的替换。在各种不匹配情况下(包括处理一个堆栈为空)的操作逻辑留给读者作为练习。:)
重复此操作,直到处理完所有偏移
从末尾开始工作的原因是,当用
替换
和用code/code替换code>
时,不需要调整剩余的偏移量
另一种策略是一次复制一个字符,当您到达
时暂停复制。使用简单的replaceAll
无法完成此操作。我建议这样做(对于..
对;对于
/
再次这样做):
搜索字符串并查找所有
字符串的偏移量。(一个好的数据结构是将偏移推送到堆栈上。)
对所有
字符串执行相同的操作
从末端开始工作(弹出堆栈),检查偏移是否正确配对(即,
的上一个偏移大于
的上一个偏移,而
的上一个偏移又大于
的下一个上一个偏移)
当发现不匹配时,在相关偏移量处进行适当的替换。在各种不匹配情况下(包括处理一个堆栈为空)的操作逻辑留给读者作为练习。:)
重复此操作,直到处理完所有偏移
从末尾开始工作的原因是,当用
替换
和用code/code替换code>
时,不需要调整剩余的偏移量
另一种策略是一次复制一个字符,当你到达一个
时暂停复制。好吧,我不是发布外部库来提供帮助的朋友
但既然我已经试过了,而且必须说它工作正常,我就告诉你:
html清洁器读取html数据并将其清除
如果您有一个格式不正确的xml文档,htmlcleaner将添加/删除缺少的标记,并从中生成一个格式正确的文档
如果你不喜欢外部图书馆,你必须看看@Ted Hopp的答案,他清楚地指出了如何解决你的问题…好吧-我不是发布外部图书馆来提供帮助的朋友
但是自从我
str = str.replaceAll("(?i)<([a-z])>(?![^<]*</\\1>)", "<$1>");
String str = "<b>bold</b> ...... <b>bold1..... <b>bold2</b> <u>12333</u>";
str = str.replaceAll("(?i)<([a-z])>(?![^<]*</\\1>)", "<$1>");
System.out.println(str);
<b>bold</b> ...... <b>bold1..... <b>bold2</b> <u>12333</u>