加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

替换字符串ln java中的多个单词,如php str_replace

发布时间:2020-12-14 01:04:46 所属栏目:Linux 来源:网络整理
导读:我需要在 java中找到一个类似的光滑方式来做多字符串替换,就像在php中使用str_replace一样. 我想取一个字符串然后返回一个数字1到10的字符串替换为这些数字的单词. “我在10场比赛中赢了7场,获得了30美元.” = “我赢了十场比赛中的七场并获得了30美元.” 在
我需要在 java中找到一个类似的光滑方式来做多字符串替换,就像在php中使用str_replace一样.

我想取一个字符串然后返回一个数字1到10的字符串替换为这些数字的单词.

“我在10场比赛中赢了7场,获得了30美元.” => “我赢了十场比赛中的七场并获得了30美元.”

在PHP中,你可以这样做:

function replaceNumbersWithWords($phrase) { 

  $numbers = array("1","2","3","4","5","6","7","8","9","10");
  $words   = array("one","two","three","four","five","six","seven","eight","nine","ten");
  return str_replace($numbers,$words,$phrase);

}

我不确定是否有一种优雅的方法可以在String.replace()的特殊情况下使用正则表达式,我不想使用我认为是蛮力方法来执行此操作:就像这里:
How to replace multiple words in a single string in Java?.

解决方法

您可以使用StringUtils中的replaceEach()执行此操作:

http://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/StringUtils.html#replaceEach(java.lang.String,java.lang.String [],java.lang.String [])

StringUtils.replaceEach("abcde",new String[]{"ab","d"},new String[]{"w","t"})  = "wcte"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读