回答
這就是你需要的一切。
string result = str.Split(',')[0].Split('=')[1];
這個工作對我來說:
var amyJavaText =
"CN=Amy Java,OU=Singapore,OU=Users,DC=domain,DC=com"
.Split(',')
.Select(x => x.Split('='))
.ToLookup(x => x[0], x => x[1])["CN"]
.First();
這有點矯枉過正,但我喜歡你找的鑰匙 – Doruk
我希望這個名字沒有任何轉義的引號或'='字符... – Rawling
@Rawling - 是的,同意。 – Enigmativity
除了更通用的方法,你可以創建一個Dictionary
(在字符串中唯一值的情況下提供)或KeyValuePair
(當前字符串與參數)如下:
var str = "CN=Amy Java,OU=Singapore,OU=Users,DC=domain,DC=com";
var dict = str.Split(',').Select(s=> s.Split('=')).ToDictionary(a => a[0].Trim(), a => a[1].Trim()); //Only if Key are unique
var kvp = str.Split(',').Select(s=> s.Split('=')).Select(a=> new KeyValuePair<string,string>(a[0].Trim(), a[1].Trim()));
然後你可以使用另一個Linq
選擇所需的關鍵。
var requiredValue = kvp.Where(u=> u.Key == "CN").Value;
會給你所需的價值。
private string[] FindKeyValue(string str, string key)
{
return str.Split(",".ToCharArray())
.Select(x => x.Split("=".ToCharArray()))
.Where(x => x[0] == key).Select(x => x[1]).ToArray();
}
假設你想知道的CN,OU,DC的值等你的字符串,看起來像一個鍵值對,其中「CN」是一個關鍵和「艾米的Java」是一種價值。似乎密鑰可以在字符串中出現多次。因此你有一個以上的鍵值。如下 使用它:如果你想只是一個單一的值,如第一個值,然後使用
var str1 = "CN=Amy Java,OU=Singapore,OU=Users,DC=domain,DC=com";
string firstValueOfCN = FindKeyValue(str1, "CN").First();
- 1. 從字符串中提取字符串
- 2. 從字符串中提取子串
- 3. 從字符串中提取子串
- 4. 從Python中的字符串數組中提取子字符串
- 5. 如何從Python中的字符串中提取子字符串?
- 6. 如何從java中的字符串中提取子字符串
- 7. 如何從C++中的字符串中提取子字符串?
- 8. 如何在ColdFusion中從字符串中提取子字符串?
- 9. 如何從Perl中的字符串中提取子字符串?
- 10. 從Java中的字符串中提取子字符串
- 11. 從字符串獲取子字符串__
- 12. 提取子串從字符串
- 13. 正則表達式從字符串中提取子字符串
- 14. Groovy - 從字符串中提取並顯示子字符串
- 15. 使用子字符串從字符串中提取值
- 16. php:從字符串中提取子字符串
- 17. 從一個字符串中提取兩個子字符串
- 18. 如何從這個字符串中提取子字符串?
- 19. 從字符串中提取子字符串?
- 20. 如何從字符串中提取子字符串?
- 21. 根據條件從字符串中提取子字符串
- 22. 如何從字符串中提取子字符串?
- 23. 從字符串中提取多個子字符串
- 24. 如何從sybase中的字符串提取子字符串?
- 25. 從任意長度的字符串中提取子字符串
- 26. 從字符串中提取不同語言的子字符串
- 27. 使用sed從字符串中提取子字符串
- 28. 從字符串中提取子字符串
- 29. 使用html標記從字符串中提取子字符串
- 30. 如何從紅寶石字符串中提取子字符串?
你嘗試過什麼
?,然後添加的問題。 –
從它的外觀;它似乎是一個LDAP字符串。在這種情況下,你絕對可以獲得域名。 – A3006
我得到上面的字符串在一個文本框,並從那我需要提取子字符串「Amy Java」 –