2011-11-25 104 views
0

我想从给定字符生成下一个字符。 例如:给定字符=“A”下一个字符“B”以编程方式生成。从给定字符串生成下一个字符串

+1

你应该“Z”或“Z”后生成什么? “9”后应该生成什么?在“ - ”,“+”,“*”等之后? –

+0

或者,您可能正在寻找生成Excel样式列名称,在这种情况下[此问题](http://stackoverflow.com/questions/297213/translate-an-index-into-an-excel-column-name)可能有帮助。 –

回答

1

试试这个片断:

chr(Asc(yourCharacter)+1) 
+0

非常感谢 – Preeti

0

您可能能够从Unicode中的一个代码点移动到下一个代码点,但这可能与用户的期望不同,具体取决于它们的本地语言,因此如果您希望在其中包含一小部分工作中,它可能是值得只是抱着,作为一个常量字符串和使用的IndexOf当前字符匹配:

Private Const CharRange as String = "ABCDE" 

Public Function NextChar(ByVal CurrentChar as String) as String 
    Return CharRange((CharRange.IndexOf(CurrentChar(0))+1) Mod CharRange.Length) 
End Function 

(我假设你想循环回到达最后一个字符时开始,该假设也可能不对)


Unicode代码点版本(仍可能不适合在所有情况下,如上所述):

Public Function NextChar(ByVal CurrentChar As Char) As Char 
    Return Convert.ToChar(Convert.ToInt32(CurrentChar) + 1) 
End Function