我想String.Split()使用逗號作爲delimitter以下字符串:如何拆分可能包含分隔符的用戶生成的字符串?
John,Smith,123 Main Street,212-555-1212
以上內容是由用戶輸入的。如果他們在地址輸入一個逗號,得到的字符串會導致問題String.Split(),因爲你現在有5個區域,而不是4:
John,Smith,123 Main Street, Apt 101,212-555-1212
我可以對所有用戶輸入使用與string.replace()更換別的東西逗號,然後再次使用與string.replace()東西轉換回逗號:
value = value.Replace(",", "*");
然而,這仍然可以愚弄如果用戶恰好使用佔位符delimitter有「*」他們的投入。那麼你最終會得到額外的逗號和結果中沒有星號。
我看到網上的解決方案來處理逃脫delimitters,但我還沒有發現這個看似常見的情況的解決方案。我錯過了什麼?
編輯:這就是所謂的delimitter collision。
你的問題與逃脫分隔符解決的問題有什麼不同?即爲什麼不逃避分隔符? – 2009-09-19 16:50:12
你說你可以在所有的用戶輸入中替換逗號,這聽起來像是在這個時候值是分開的。他們爲什麼然後把它們串成一個串? – gix 2009-09-19 16:52:51