我需要將全名轉換爲名和姓。如果名稱大部分是西方的話,這可能在〜90%的成功率內嗎?是否有可能將全名轉換爲名字和姓氏?
回答
假設你輸入名字名稱名稱姓氏,分割字符串,並使用第一和最後一個指標:
String bigName = "John McDonalds Harris"
String[] names = bigName.split(" ");
System.out.println(String.format("FirstName: %s : LastName: %s", names[0], names[names.length-1]));
它會打印:FistName:約翰:名字:哈里斯
我不這麼認爲。它主要取決於你可用的數據。如果用戶總是輸入「名字姓氏」,那麼你可以檢查最後一個空格,執行分離,就是這樣。
但是對於典型的德國客戶來說,可能會有大量的缺失匹配。名稱如「Hans Ulrich-Schmidt」用戶忘記破折號(或者更糟,明確地不輸入它)將不會被正確解析。但是沒有明確的方法來確定「Ulrich」「Hans Ulrich Schmidt」是否屬於第一個或最後一個名字。
這只是一個例子,還有更多,所以我認爲:不,這是不可能的。
補充:至少在瑞士和據我知道在德國它是* *可能有一個由姓* *沒有了幾許。所以你完全失去了。 – chiccodoro 2010-12-16 11:31:48
也有區域差異:有些人傾向於先寫作(並說出)他們的姓氏,他們的名字是最後一個名字,所以「KlausMüller」成爲「MüllerKlaus」......並且你迷路了(再次!) – perdian 2010-12-16 11:35:50
您認爲「西方名字「都有相同的簡單格式。事實並非如此。例如,Spanish names一般有兩個「姓氏」,但可能會變得相當複雜一點。
許多歐洲國家都有nobility particles這可能會使名稱複雜化。
名稱是文化的,文化比大多數人想象的要複雜得多和複雜。即使在「西方」。
這取決於初始格式。例如在VCards中,標準格式是
LastName;FirstName
分隔符是分號。
在一般情況下,這是非常困難的。我同意已經說過的人。 如果你真的想解決這個問題,你必須實現Locale相關的解析器。例如,英語通常由名字和姓氏組成。匈牙利人寫姓和名字。在俄語中,它更復雜:有時它是名和姓,有時它們使用相反的順序。這取決於文本樣式。相反的順序用在更正式的文本中。
您可以嘗試使用名字和姓氏的字典。這可以在某些情況下有所幫助。但如何處理像「埃爾頓約翰」這樣的名字?那麼「沃倫克里斯托弗」呢?和「克里斯托弗羅賓」?
也許如果您有大量的名稱列表,並且所有名稱都使用相同的格式編寫,那麼您可以先使用名稱字典檢測樣式,然後使用它。你可能會獲得90%的成功。
好運
- 1. Python CSV將全名字符串分割成姓名和姓氏
- 2. CSV - 將全名分爲姓氏和名字
- 3. 名字和姓氏中的Split姓氏
- 4. 用名字和姓氏查找姓名
- 5. 分割名稱爲名字和姓氏
- 6. JSON編碼姓名+姓氏=全名
- 7. :姓名,姓氏:姓名
- 8. 將姓名字段拆分成姓氏和名字
- 9. 提取名字和姓氏
- 10. MVC User.Identity.Name,姓氏和名字
- 11. 搜索名字和姓氏
- 12. 單名文本框中的名字和姓氏的姓氏
- 13. 將單個字段分隔成名稱,姓氏和姓氏
- 14. 更改姓氏,名字到姓氏,FirstInitial
- 15. 僅提取姓氏名字,姓氏
- 16. 如何從姓名全名的字符串中獲取名字和姓氏
- 17. 串聯名字和姓氏作爲名稱,然後ommit Firtname和姓氏在SSIS
- 18. 如何將'姓氏,名字'格式轉換爲SQL Server中的名字
- 19. 如何將Java中的字符串從全名分隔爲姓氏和名字?
- 20. 解析姓名爲第一名字和姓氏 - LINQ到實體
- 21. 爲姓氏和名字建立索引
- 22. Bluesnap卡持有人名字和姓氏
- 23. 連接名字和姓氏形成一個全名字段
- 24. OpsHub - 用戶映射 - 名字姓氏vs(Azure)姓氏,名字
- 25. 什麼是REGEXP PHP語法將姓氏,名字更改爲名字姓?
- 26. 預先存在現有的姓氏與名字從單獨的姓名全名
- 27. 從名字和姓氏切換到姓氏然後名字的程序。你能幫助解決嗎?
- 28. 用全名搜索而不是名字或姓氏
- 29. 如何從全名中提取名字和姓氏
- 30. php代碼從全名提取名字和姓氏
你的「假設」看起來就像OP提出的討論點...... – chiccodoro 2010-12-16 11:20:24
-1這就是討論的要點:它不是*只是「把最後一個字作爲姓「就是這樣! – perdian 2010-12-16 11:31:34
是的,但必須的名字將通過我所做的代碼,大多數西方人的名字都是這樣,並非所有的都是,但必須是他們,我的名字有兩個姓氏,但就像我說的必須是名字姓名姓氏姓氏,如果你想得到激進的Japonese名字是倒退姓氏名字姓名的名字。 。 。 – DVD 2010-12-16 12:06:19