Java 需要正则表达式来查找和替换字符串中的单词
假设我有一个字符串说“你好::2130837661::stackoverflow,你好::2130837664::你好吗?” 我有一个预定义的整数数组列表,比如 [ 2130837661, 2130837662, 2130837663, 2130837664, 2130837665, 2130837666, 2130837667, 2130837668 ] 我想检查给定的字符串是否包含该arraylist中的整数,它应该替换为新词,比如“EXAMPLE” 例如,上述字符串(更换后)将为: “您好示例stackoverflow,您是如何示例的?” 有什么可行的解决办法吗Java 需要正则表达式来查找和替换字符串中的单词,java,regex,Java,Regex,假设我有一个字符串说“你好::2130837661::stackoverflow,你好::2130837664::你好吗?” 我有一个预定义的整数数组列表,比如 [ 2130837661, 2130837662, 2130837663, 2130837664, 2130837665, 2130837666, 2130837667, 2130837668 ] 我想检查给定的字符串是否包含该arraylist中的整数,它应该替换为新词,比如“EXAMPLE” 例如,上述字符串(更换后)将为: “您好
提前感谢。只需在
ArrayList
上迭代,并且(我假设您有一个从这些整数到字符串的映射)使用String.replace()
将整数替换为相应的替换
for(Integer i: arrayList)
{
yourString.replace("::"+i+"::", replacement);
}
2130837661是如何映射到示例的?到目前为止您尝试过什么吗?@Trarry Wombat:EXAMPLE是替换项。因此,如果arraylist中有一个numbr(前面有::),那么您将用
EXAMPLE
替换它。到目前为止您尝试了什么?这是一个非常糟糕的性能,并且不起作用,因为Java返回了一个新字符串!看看老年退休金计划的问题。他有一个由特定整数组成的ArrayList
。如果我们只是简单地使用那些在正则表达式中硬编码的整数作为您的解决方案,那么使用这个ArrayList
有什么意义呢?如果Java返回一个新的字符串
,只需将其分配给原始的字符串
,问题是什么?我希望他能够解释regexp示例并根据自己的需要进行调整。作为软件开发人员,你应该思考!或者您可以使用一个好的ol'Stringbuilder,然后将其转换为您的需要