Flutter禁用词过滤插件stopwordies的使用

Flutter禁用词过滤插件stopwordies的使用

Flutter Dart

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

1 回复

更多关于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插件:

  1. 导入必要的包:
import 'package:flutter/material.dart';
import 'package:stopwordies/stopwordies.dart';
  1. 创建并配置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插件主要用于自然语言处理中的常见停用词过滤,如果你需要更复杂的禁用词过滤(比如基于正则表达式的敏感词过滤),你可能需要结合其他技术或自己实现一个过滤机制。

回到顶部