我目前正在开发一个应用程序,该应用程序在字符串末尾需要多个特殊字符。
一些例子是:
等
我要替换所有以下内容:
有人可以帮我吗?
谢谢!
答案 0 :(得分:1)
使用String.prototype.replace()方法。
var str = 'Your string';
var regex = 'Your regex';
str.replace(regex, 'replaced by this string');
答案 1 :(得分:1)
Java版本的代码:
String myName ="5 ABCD898* + -";
char[] line = myName.toCharArray();
for(int i = line.length-1; i>=0; i--)
{
if (!((line[i] >= 'a' && line[i]<='z') || (line[i] >= 'A' && line[i]<='Z')||(line[i] >= '0' && line[i]<='9')))
{
line[i] = ' ';
}else{
break;}
}
myName=String.valueOf(line).trim()+"A";
System.out.println(myName);
其他版本的代码
string line="5 * + -";
for(int i = line.size()-1; i>=0; i--)
{
if (!((line[i] >= 'a' && line[i]<='z') || (line[i] >= 'A' && line[i]<='Z')||(line[i] >= '0' && line[i]<='9')))
{
line[i] = '\0';
}else{
break;}
}
line+="A";
答案 2 :(得分:1)
您可以将String.prototype.replace()
与回调一起使用,这将有助于您修改字符串
const inputs = ['5*+-', '345-+', 'ABC+-++'];
const results = inputs.map(s => {
const specialChr = /[^A-Za-z0-9 ].*/g;
const output = s.replace(specialChr, function (matched, index, original) {
return matched + original.slice(0, index) + 'A';
});
return output;
});
console.log(results);
答案 3 :(得分:1)
最适合您,split
上的first special char
并获得first
。
const clean = (str) => str.split(/\W/)[0]+"A"
const clean = (str) => str.split(/\W/)[0]+"A"
const data = `5*+- to 5A
345-+ to 345A
ABC+-++ to ABCA`.split("\n")
data.forEach(line => console.log(clean(line)))
答案 4 :(得分:0)
取决于“特殊字符”的含义。我建议使用RegEx方法。首先查看W3Schools