Flutter禁用词过滤插件stopwordies的使用
Flutter禁用词过滤插件stopwordies的使用
A multilingual collection of stopwords (using ISO 639-1 language codes) for Dart/Flutter.
特性
Stopwordies支持多达57种语言,如下所示。带有对勾标记的语言是支持停用词的。
| ISO 639-1 Code | Language | Included Here |
|---|---|---|
| aa | Afar | |
| ab | Abkhazian | |
| af | Afrikaans | ✅ |
| ak | Akan | |
| sq | Albanian | |
| am | Amharic | |
| ar | Arabic | ✅ |
| an | Aragonese | |
| hy | Armenian | ✅ |
| as | Assamese | |
| av | Avaric | |
| ae | Avestan | |
| ay | Aymara | |
| az | Azerbaijani | |
| ba | Bashkir | |
| bm | Bambara | |
| eu | Basque | ✅ |
| be | Belarusian | |
| bn | Bengali | ✅ |
| bh | Bihari languages | |
| bi | Bislama | |
| bo | Tibetan | |
| bs | Bosnian | |
| br | Breton | ✅ |
| bg | Bulgarian | ✅ |
| my | Burmese | |
| ca | Catalan; Valencian | ✅ |
| cs | Czech | ✅ |
| ch | Chamorro | |
| ce | Chechen | |
| zh | Chinese | ✅ |
| cu | Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic | |
| cv | Chuvash | |
| kw | Cornish | |
| co | Corsican | |
| cr | Cree | |
| cy | Welsh | |
| da | Danish | ✅ |
| de | German | ✅ |
| dv | Divehi; Dhivehi; Maldivian | |
| nl | Dutch; Flemish | ✅ |
| dz | Dzongkha | |
| el | Greek, Modern (1453-) | ✅ |
| en | English | ✅ |
| eo | Esperanto | ✅ |
| et | Estonian | ✅ |
| ee | Ewe | |
| fo | Faroese | |
| fa | Persian | ✅ |
| fj | Fijian | |
| fi | Finnish | ✅ |
| fr | French | ✅ |
| fy | Western Frisian | |
| ff | Fulah | |
| ka | Georgian | |
| gd | Gaelic; Scottish Gaelic | |
| ga | Irish | ✅ |
| gl | Galician | ✅ |
| gv | Manx | |
| gn | Guarani | |
| gu | Gujarati | ✅ |
| ht | Haitian; Haitian Creole | |
| ha | Hausa | ✅ |
| he | Hebrew | ✅ |
| hz | Herero | |
| hi | Hindi | ✅ |
| ho | Hiri Motu | |
| hr | Croatian | ✅ |
| hu | Hungarian | ✅ |
| ig | Igbo | |
| is | Icelandic | |
| io | Ido | |
| ii | Sichuan Yi; Nuosu | |
| iu | Inuktitut | |
| ie | Interlingue; Occidental | |
| ia | Interlingua (International Auxiliary Language Association) | |
| id | Indonesian | ✅ |
| ik | Inupiaq | |
| it | Italian | ✅ |
| jv | Javanese | |
| ja | Japanese | ✅ |
| kl | Kalaallisut; Greenlandic | |
| kn | Kannada | |
| ks | Kashmiri | |
| kr | Kanuri | |
| kk | Kazakh | |
| km | Central Khmer | |
| ki | Kikuyu; Gikuyu | |
| rw | Kinyarwanda | |
| ky | Kirghiz; Kyrgyz | |
| kv | Komi | |
| kg | Kongo | |
| ko | Korean | ✅ |
| kj | Kuanyama; Kwanyama | |
| ku | Kurdish | ✅ |
| lo | Lao | |
| la | Latin | ✅ |
| lv | Latvian | ✅ |
| li | Limburgan; Limburger; Limburgish | |
| ln | Lingala | |
| lt | Lithuanian | ✅ |
| lb | Luxembourgish; Letzeburgesch | |
| lu | Luba-Katanga | |
| lg | Ganda | |
| mk | Macedonian | |
| mh | Marshallese | |
| ml | Malayalam | |
| mi | Maori | |
| mr | Marathi | ✅ |
| ms | Malay | ✅ |
| mg | Malagasy | |
| mt | Maltese | |
| mn | Mongolian | |
| na | Nauru | |
| nv | Navajo; Navaho | |
| nr | Ndebele, South; South Ndebele | |
| nd | Ndebele, North; North Ndebele | |
| ng | Ndonga | |
| ne | Nepali | |
| nn | Norwegian Nynorsk; Nynorsk, Norwegian | |
| nb | Bokmål, Norwegian; Norwegian Bokmål | |
| no | Norwegian | ✅ |
| ny | Chichewa; Chewa; Nyanja | |
| oc | Occitan (post 1500) | |
| oj | Ojibwa | |
| or | Oriya | |
| om | Oromo | |
| os | Ossetian; Ossetic | |
| pa | Panjabi; Punjabi | |
| pi | Pali | |
| pl | Polish | ✅ |
| pt | Portuguese | ✅ |
| ps | Pushto; Pashto | |
| qu | Quechua | |
| rm | Romansh | |
| ro | Romanian; Moldavian; Moldovan | ✅ |
| rn | Rundi | |
| ru | Russian | ✅ |
| sg | Sango | |
| sa | Sanskrit | |
| si | Sinhala; Sinhalese | |
| sk | Slovak | ✅ |
| sl | Slovenian | ✅ |
| se | Northern Sami | |
| sm | Samoan | |
| sn | Shona | |
| sd | Sindhi | |
| so | Somali | ✅ |
| st | Sotho, Southern | ✅ |
| es | Spanish; Castilian | ✅ |
| sc | Sardinian | |
| sr | Serbian | |
| ss | Swati | |
| su | Sundanese | |
| sw | Swahili | ✅ |
| sv | Swedish | ✅ |
| ty | Tahitian | |
| ta | Tamil | |
| tt | Tatar | |
| te | Telugu | |
| tg | Tajik | |
| tl | Tagalog | ✅ |
| th | Thai | ✅ |
| ti | Tigrinya | |
| to | Tonga (Tonga Islands) | |
| tn | Tswana | |
| ts | Tsonga | |
| tk | Turkmen | |
| tr | Turkish | ✅ |
| tw | Twi | |
| ug | Uighur; Uyghur | |
| uk | Ukrainian | ✅ |
| ur | Urdu | ✅ |
| uz | Uzbek | |
| ve | Venda | |
| vi | Vietnamese | ✅ |
| vo | Volapük | |
| wa | Walloon | |
| wo | Wolof | |
| xh | Xhosa | |
| yi | Yiddish | |
| yo | Yoruba | ✅ |
| za | Zhuang; Chuang | |
| zu | Zulu | ✅ |
使用方法
使用起来非常简单。只需获取当前支持语言的停用词列表,如下面的示例所示:
final words = await StopWordies.getFor(locale: SWLocale.en);
更多关于Flutter禁用词过滤插件stopwordies的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter禁用词过滤插件stopwordies的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,以下是如何在Flutter项目中使用stopwordies插件来进行禁用词过滤的示例代码。stopwordies插件通常用于文本处理,以移除不需要的停用词(stopwords),尽管它并非专门用于“禁用词”过滤(这通常涉及敏感词或不良词汇的过滤),但原理相似。如果你确实需要针对特定禁用词的过滤,可以在此基础上进行扩展。
首先,确保你已经在pubspec.yaml文件中添加了stopwordies依赖:
dependencies:
flutter:
sdk: flutter
stopwordies: ^最新版本号 # 替换为当前最新版本号
然后运行flutter pub get来安装依赖。
接下来,在你的Flutter项目中,你可以按照以下步骤使用stopwordies插件:
- 导入必要的包:
import 'package:flutter/material.dart';
import 'package:stopwordies/stopwordies.dart';
- 创建并配置Stopwordies实例:
由于stopwordies主要用于移除自然语言处理中的常见停用词(如“the”, “is”, “in”等),它自带了一些语言的停用词列表。如果你需要过滤特定的禁用词,你需要自定义这个列表。
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Stopwordies Demo'),
),
body: Center(
child: StopwordiesDemo(),
),
),
);
}
}
class StopwordiesDemo extends StatefulWidget {
@override
_StopwordiesDemoState createState() => _StopwordiesDemoState();
}
class _StopwordiesDemoState extends State<StopwordiesDemo> {
String inputText = "This is a sample text with some stopwords.";
String filteredText = "";
@override
void initState() {
super.initState();
// 初始化Stopwordies实例,并加载停用词列表(这里使用英语默认列表作为示例)
final stopwordies = Stopwordies(languageCode: 'en');
// 自定义停用词列表(如果需要过滤特定禁用词,可以在这里添加)
final customStopwords = ["sample", "some"]; // 示例禁用词
stopwordies.addStopwords(customStopwords);
// 过滤文本
filteredText = stopwordies.removeStopwords(inputText);
// 注意:这里的过滤是同步进行的,如果文本很长或需要频繁更新,考虑使用异步处理
}
@override
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text('Original Text:'),
Text(inputText),
SizedBox(height: 20),
Text('Filtered Text:'),
Text(filteredText),
],
);
}
}
在这个示例中,我们创建了一个简单的Flutter应用,其中包含一个文本字段显示原始文本和一个文本字段显示经过停用词过滤后的文本。我们使用了Stopwordies类的实例来加载默认的英语停用词列表,并添加了一些自定义的停用词(在这个例子中是“sample”和“some”)。然后,我们调用removeStopwords方法来过滤输入文本中的停用词。
请注意,stopwordies插件主要用于自然语言处理中的常见停用词过滤,如果你需要更复杂的禁用词过滤(比如基于正则表达式的敏感词过滤),你可能需要结合其他技术或自己实现一个过滤机制。

