我通常使用此命令替换一个String中的字符
myString.replace("f", "a").trim()
但是这次我想创建一个Hex字符串,所以我想用字符f
替换所有大于a
的字符。
是否可以调整此命令?
答案 0 :(得分:1)
如果您有一个上限字符(我将z
作为示例),您可以使用带有replaceAll
的正则表达式:
myString = myString.trim().replaceAll("[g-z]", "a");
正则表达式[g-z]
表示"任何字符g
到z
包含",有关详细信息,请参阅Pattern
。
如果您想要不区分大小写的话,您可能需要显式创建正则表达式而不是依赖replaceAll
的默认版本:
myString = Pattern.compile("[g-z]", Pattern.CASE_INSENSITIVE)
.matcher(myString.trim())
.replaceAll("a");
答案 1 :(得分:0)
您可以使用正则表达式来执行此操作 Button btnSimple = (Button) findViewById(R.id.action_about);
btnSimple.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(v.getContext(), about.class);
startActivityForResult(intent, 0);
}
});
将选择表示十六进制数字的字符串中不允许的任何字符。您需要将所有出现的组替换为所需的值。
答案 2 :(得分:0)
您可以迭代字符串中的字符,并将大于f的字符替换为您想要的字符;
StringBuilder newString=new StringBuilder();
for (int i = 0; i < myString.length(); i++) {
char c = myString.charAt(i);
if (c > 'f') {
newString.append('a');
} else {
newString.append(c);
}
}