2017-01-28 21 views
0

我想從生成的字符串中生成替代字母。例如。 Word是SPACEORION,那麼字母應該像這個SPCO。因爲我需要根據他們的名字生成客戶端代碼。什麼是合適的解決方案?從asp.net中的字符串中選擇備用字母表

+1

你需要提供更多的信息.​​.「備用」是什麼意思?爲什麼選擇SPCO?它是否必須是來自該特定詞的SPCO,爲什麼?另一個詞可以翻譯成什麼?你想在一個詞的特定字母創造新的詞或你想要它是隨機的嗎?你的目標是什麼?你到目前爲止嘗試過什麼? –

+0

@MikaelPuusaari交替的手段假設Word是SPACEORION那麼它應該產生像這個SACO在這裏你看到我跳過了所有的偶數位置字符和字長將會是4.客戶只需要給他們的名字代碼這樣就會自動生成我沒有嘗試任何東西,因爲我不知道什麼是什麼我知道要產生隨機字符 – SUN

+0

檢查我的答案,它現在應該工作..不得不修改它有點 –

回答

1

確定,從我的理解,這可能是你想要什麼,但SPACEORION的結果將是SAER,而不是中美合作所,所以我希望我正確

string name = "SPACEORION "; 
var shortName = ""; 
while (shortName.Length < 4) 
{ 
    foreach (char ch in name.ToCharArray()) 
    { 
     if (name.IndexOf(ch) % 2 == 0) 
      { 
       shortName += ch.ToString(); 
      } 
    } 
} 

編輯瞭解你: 對不起,沒有開發工具只好稍微修改一下我的答案

+0

我有這個代碼中的小問題。你已經定義的字符串大小應該是<= 4,然後它是越來越整假設用戶輸入了這個名稱Demo Company,那麼它創建了這樣的代碼DMCMPY它應該創建到DMCM只 – SUN

+0

不,我沒有做<=,刪除等號(=),因爲otherwis e它會繼續,當已經有4個字母,並返回5個字母..我不明白如何可以得到6個字母的值,除非你有某種方式使用數組而不是字符串,因爲數組將從索引0開始。這樣你會得到6個字母:數組中的0到5 –