java - 字符串片段需要替换为 '<'

标签 java string

嗨,谁能帮我用“<”替换字符串“<” 从下面的字符串。这里我不想替换。

StringBuffer s = new StringBuffer("</I></B>250-500 mg 6 hrly.<BR><B><I>Child: </I></B><I><7 days</I></B> and <2 kg: 25 mg/kg 12 hrly; "
  + "<I>7-28 days</B> and <2 kg or <I>&le;7 days</I> and &ge;2 kg: 25 mg/kg 8 hrly; <I>7-28 days</I> and &ge;2 kg: 25 mg/kg 6 hrly; <I>&ge;1 mth</I> and <20 kg: 50-100 mg/kg daily 6 hrly. Max: 4 g daily. For severe infection, up to 200 mg/kg daily in divided doses. "
  + "Max: 12 g daily.<BR><I>Parenteral</I><BR><B>Staphylococcal infections resistant to benzylpenicillin</I><BR><Bold><I>Adult: "
  + "</I></I>1-2 g 6 hrly. For more severe infections (e.g. meningitis, endocarditis), 2 g 4 hrly.<BR><Bold><I>Child: "
  + "</I></I><I><7 days</I></I> and <2 kg: 25 mg/kg 12 hrly; <I>7-28 days</I> and <2 kg or <I>&le;7 days</I> and &ge;2 kg: 25 mg/kg 8 hrly; "
  + "<I>7-28 days</I> and &ge;2 kg: 25 mg/kg 6 hrly; <I>&ge;1 mth</I> and <20 kg: 50-100 mg/kg daily 6 hrly. "
  + "Max: 4 g daily. For severe infection, up to 200 mg/kg daily in divided doses. Max: 12 g daily.");

这里需要考虑一些情况,如果<后面只跟立即数,则只需将<替换为<:否则不改变。我已经尝试过以下方法,但它也替换了号码。

s.replaceAll("<[0-9]","&lt;");

最佳答案

您需要捕获该号码,否则它将在替换中丢失。

你想要这样的东西。

s.replaceAll("<([0-9]+)","&lt;$1");

关于java - 字符串片段需要替换为 '<',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32730047/

相关文章:

java - 如何按像素长度切割文本?

java - 将字符串数组转换为字节数组

string - 从特定字符开始截断 NSString 的一部分

c++ - STL c++ 项目中的字符串类

c - 文字字符串放在哪里,为什么我可以返回指向它们的指针?

c++ - 我的字符串比较在 Cpp 中不起作用

java - System.out.print (""); token "."上的语法错误,@ 应在此 token 之后

java - 在java中通过Google获取地址经度和纬度的最佳方法是什么

java - 无法使用MVEL导入静态方法

java - web.xml 中支持异步的目的是什么?