gpt4 book ai didi

java - 字符串标记后缀替换

转载 作者:行者123 更新时间:2023-12-02 05:50:03 25 4
gpt4 key购买 nike

在下面发布了我编写的用于字符串标记后缀替换的方法。

public static String suffix_replacement(String string) {
String[] tokens = string.split("\\s");
String new_string = "";
String suffix = "";
String replacement = "";

for (String token : tokens) {
suffix = GetElements.suffix_replacement_map.containsKey(getSuffix(token, 7)) ? getSuffix(token, 7) :
GetElements.suffix_replacement_map.containsKey(getSuffix(token, 6)) ? getSuffix(token, 6) :
GetElements.suffix_replacement_map.containsKey(getSuffix(token, 5)) ? getSuffix(token, 5) :
GetElements.suffix_replacement_map.containsKey(getSuffix(token, 4)) ? getSuffix(token, 4) :
GetElements.suffix_replacement_map.containsKey(getSuffix(token, 3)) ? getSuffix(token, 3) : "";

replacement = suffix.equals("") ? "" : GetElements.suffix_replacement_map.get(suffix);

if (!suffix.equals(""))
token = token.substring(0, token.length()-suffix.length())+replacement;

new_string += token+" ";
}

new_string = new_string.trim();

if (!new_string.equals(string)) {
System.out.println(string);
System.out.println(new_string);
}
return new_string;
}
<小时/>
Test case 1

string: hemisphere hemorrhage

new_string: hemisphere hemorrh

It works fine.
<小时/>
Test case 2:

string: cardiac arrhythmia

new_string: arrhythmia

It does not give desired string.
<小时/>

如果 String 中最后一个标记以外的任何标记获得后缀替换,该函数似乎会返回不正确的Strings

感谢您在查找函数中的错误方面提供的任何帮助。

谢谢。

<小时/>

添加信息:

suffix_replacement_map 填充以下内容:

tic:sissis:ticoneal:ineumage:cular:calcardiac:cardianic:niaages:edevi:evuscular:calcardiac:cardianic:niaages:edevi:evustachy:tachicardiacral:crumcancer:carcinomasillar:sil

Function used:

public static String getSuffix(String str, int len) {
if (str.length() < len) {
return "";
}
return str.substring(str.length() - len);
}

最佳答案

我按照自己的想法实现了getSuffix:

   private static String getSuffix(String token, int i) {
if (i <= token.length()) {
return token.substring(token.length() - i, token.length());
}
return null;
}

它成功了...:)您可以将您的版本添加到条目中吗?我认为 getToken 可能有问题。

关于java - 字符串标记后缀替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23631612/

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