2011-11-25 145 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