gpt4 book ai didi

java - 正确替换所有隔离字符串

转载 作者:行者123 更新时间:2023-11-29 19:22:43 24 4
gpt4 key购买 nike

我正在开发一款翻译应用,遇到了一个小问题。例如:当我在 Hond键入 时,我希望输出Dog,当我键入Honderd 中,我希望 outputHundred。但是当我输入 Hond 时,我得到的是 Dogerd。所以它只接受 Hond 的翻译并添加剩余的字母。我通过在我的代码中将 Honderd 放在 Hond 之上想出了一个解决方案。但是这个问题必须有另一种解决方案吗?这是代码:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

mType = (EditText) findViewById(R.id.typeWordTxt);
mSearch = (Button) findViewById(R.id.find8tn);
mResults = (TextView) findViewById(R.id.resultsTxt);

mSearch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

String resultaat = mType.getText().toString().toLowerCase();
resultaat = resultaat
//Getallen
.replaceAll("honderd", "hundred")
.replaceAll("hond", "dog")
mResults.setText(resultaat);

感谢您的帮助!

最佳答案

您可以使用 \\b 单词边界将您的单词隔离为单个单词,而不是将其与其他单词匹配

\\bhonderd\\b\\bhond\\b

    String s ="Honderd Honderd Hond".toLowerCase();
System.out.println(s
.replaceAll("\\bhond\\b", "dog")
.replaceAll("\\bhonderd\\b", "hundred"));

输出:

hundred hundred dog

演示

const honderd_rep = /\bhonderd\b/g;
const hond_rep = /\bhond\b/g;
const str = 'honderd honderd hond';
const result = str.replace(hond_rep,'dog').replace(honderd_rep, 'hundred');
console.log(result);

关于java - 正确替换所有隔离字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42054152/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com