您好我正在寻找一种将字符串中的单个字符更改为其前一个字符的好方法。我的意思是如果我有这个字符串=“abcd”我想把'd'字符改为'c'?如何将char更改为之前的字符(按字母顺序)?
我想在这里使用这种方法:
int StringSize=0;
string s=" ";
s = Console.ReadLine();
StringSize = s.Length;
s.Replace(s[StringSize-1],the previous char);
我想将char [StringSize-1]更改为它的前一个字符。
我试图根据字符的ASCII代码执行此操作,但我找不到将表单字符转换为ASCII的方法。
答案 0 :(得分:2)
char
已经是ASCII,但要对它进行数学计算,你需要一个数字。
所以:
int
回到char
char newChar = (char)((int)oldChar - 1);
或者在您的代码中:
s = s.Replace(s[StringSize-1], (char)((int)s[StringSize-1] - 1));
注意事项:
答案 1 :(得分:0)
将返回字符串替换为object,但不更改其值。解决方案:
s = s.Replace(s[StringSize-1], the previous char);
答案 2 :(得分:0)
var str = "abcd";
for (int i = 0; i < str.Length; i++)
{
str = str.Replace(str[i], (char)((byte)str[i] - 1));
}