0

我正在尝试在颤振中使用 ProfanityFilter 来过滤评论内容中的坏词,这是一个字符串。ProfanityFilter 有一个审查词列表,我想将其与未包含在LDNOOBW 列表中的脏话列表一起传递。但是,由于内容是字符串,所以我使用了强制转换,然后出现强制转换错误:类型“ProfanityFilter”不是类型转换中“String”类型的子类型。

TextFormField(
            decoration: InputDecoration(
              prefixIcon: Icon(Icons.comment_outlined, color: 
 Colors.white60, size: 20,),
              hintText: Languages
                  .of(context)
                  .revHint,
              focusedBorder: UnderlineInputBorder(),
            ),
            maxLines: null,
            onChanged: (val) {
              setState(() {
                val = ProfanityFilter.filterAdditionally(badString) as String;
                content = val;
                viewModel.setDescription(content);
              });
            }
          ),

如何将字符串传递给列表,扫描然后将审查列表解析为字符串?或者有没有更好更简单的方法来审查坏词?可能是地图?谢谢!颤振和编码非常新。

4

1 回答 1

0

根据您在评论中的回复,您使用了错误的方法来执行此操作。你应该使用.hasProfanity.

方法

hasProfanity - 检测字符串是否包含亵渎

使用过滤器实例的 hasProfanity() 方法。传入要测试的字符串。

例子

final filter = ProfanityFilter();
String badString = 'you are an ass';
filter.hasProfanity(badString); //Returns true.

如果要获取字符串中的坏词列表,请使用该.getAllProfanity()方法。

在您的代码中,“val”将包含用户输入的字符串,这是您传递给方法的字符串,而不是“badString”。

于 2021-08-10T06:24:40.783 回答