首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#用混合语言将字符串拆分成不同的语言块

C#用混合语言将字符串拆分成不同的语言块
EN

Stack Overflow用户
提问于 2017-08-10 16:55:21
回答 2查看 2.5K关注 0票数 3

我试图解决一个问题,我有一个字符串与混合语言作为输入。

例如。现代汽车公司현대자동차现代其他一些英文单词

我想把字符串分割成不同的语言块。

例如。“现代汽车公司”、“현대자동차”,“现代”、“其他一些英语单词”

或(空格/标点符号和顺序不重要)

"HyundaiMotorCompany“、”현대자동차“,”现代“、"SomeotherEnglishwords”

有什么简单的方法可以解决这个问题吗?或者我能用的任何组件/nuget包?

谢谢

编辑:我认为我的“语言块”是模糊的。我想要的“语言块”是语言字符集。

例如,“现代汽车公司”是英文字符集,현대자동차是韩语组,"现代“是中文组,”其他一些英语单词“在英语组。

为澄清我的问题的要求而增加的内容如下:

1:输入可以有空格或任何其他标点符号,但我总是可以使用正则表达式忽略它们。

他说:我会对输入进行预处理,不理睬辩证法.所以在我的输入中"a“变成了”a“。所以所有喜欢英语的字都会变成英文字。

我真正想要的是找到一种方法,将输入解析成不同的语言字符集,忽略空格和标点符号。

例如“现代汽车公司현대자동차现代--另一个英语单词” "HyundaiMotorCompany“、”현대자동차“,”现代“、"SomeotherEnglishwords”

EN

回答 2

Stack Overflow用户

发布于 2017-08-10 17:14:01

这是一个语言识别问题。为此,您需要使用适当的库。C#包支持在维基百科和推特上培训的78种语言。但是总的来说,Python更适合解决这类问题。对于Python,我可以推荐这个包裹

因此,你需要把你的文本分割成句子或单词,并应用文本检测算法来识别语言。接下来,您可以按语言对结果进行分组。

票数 4
EN

Stack Overflow用户

发布于 2017-08-10 17:54:06

据我所知,从你的问题中,你想要区分英语和非英语(Unicode)字符。我们可以在这里使用[\x00-\x7F]+正则表达式。请注意,^用于非英语字符。

代码语言:javascript
复制
string input = "Hyundai Motor Company 현대자동차 现代 Some other English words";

string englishCharsPattern = "[\x00-\x7F]+";
var englishParts = Regex.Matches(input, englishCharsPattern)
                        .OfType<Match>()
                        .Where(m => !string.IsNullOrWhiteSpace(m.Groups[0].Value))
                        .Select(m => m.Groups[0].Value.Trim())
                        .ToList();

string nonEnglishCharsPattern = "[^\x00-\x7F]+";
var nonEnglishParts = Regex.Matches(input, nonEnglishCharsPattern)
                            .OfType<Match>()
                            .Select(m => m.Groups[0].Value)
                            .ToList();

var finalParts = englishParts;
finalParts.AddRange(nonEnglishParts);

Console.WriteLine(string.Join(",", finalParts.ToArray()));  

这给了我们:

代码语言:javascript
复制
Hyundai Motor Company,Some other English words,현대자동차,现代
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45619497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档