首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何知道字符串只包含特定的单词

如何知道字符串只包含特定的单词
EN

Stack Overflow用户
提问于 2015-03-24 06:59:21
回答 3查看 1.9K关注 0票数 2

如何检查字符串是否只包含数组中的单词?

如果字符串使用true在数组中包含任何单词,则可以返回Contains()

代码语言:javascript
运行
AI代码解释
复制
public bool ValidateString(string strCondition)
{
       List<string> words = new List<string>() { "true", "false", "&&", "||", " " };
       foreach (string word in words)
       {
            if(strCondition.Contains(word))
                return true;                
       }
       return false;
}

但是,如果作为参数发送的字符串( false )包含除truefalse&&||以外的任何单词、字母表或数字等,如何返回?在Regex中是否有任何选择,或者某个人能想出一个好的解决方案?

编辑

以下内容应返回true

代码语言:javascript
运行
AI代码解释
复制
true && false || false && false
true || false && false && false

下面应该返回false,因为它包含了truefalse&&||以外的单词/数字/特殊字符,

代码语言:javascript
运行
AI代码解释
复制
true & false || false < false  
true >> false && false && false
true and false 123 false && false
true || false && false xyz false
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-03-24 07:05:23

首先,您的代码受到了clbuttic问题的影响:它将返回包含单词“不真实”的字符串的true,因为代码不注意单词边界。

如果要检查是否包含其他单词,请拆分字符串,并根据“已批准”单词列表检查每个项:

代码语言:javascript
运行
AI代码解释
复制
var allApproved = strCondition.Split(' ').All(word => words.Contains(word));

这种方法意味着words中的单词不包含空格。

请注意,这并不是最有效的方法,尽管对于一个小列表来说,它可以很好地工作。如果列表很长,则改用HashSet<string>

演示。

票数 6
EN

Stack Overflow用户

发布于 2015-03-24 07:11:23

你可以这样做:

代码语言:javascript
运行
AI代码解释
复制
var regex = new Regex(@"(^(true|false|&&|\|\|)$)");

return regex.IsMatch(input);
票数 1
EN

Stack Overflow用户

发布于 2015-03-24 07:34:17

这是另一个答案,这似乎是你最初问的问题。如果我做对了,您想知道是否只有子字符串在List<string>中的文本中。

因此,“不真实”将返回false,因为"un“不在允许的”单词“列表中(更好的子字符串)。但“真实”是被允许的。

然后看看这个看起来更麻烦的方法,但是它需要检查一些与接受的答案不同的内容:

代码语言:javascript
运行
AI代码解释
复制
List<string> words = new List<string>() { "false", "true", "||", "&&", " " };

public bool ValidateString(string strCondition)
{
    if(string.IsNullOrWhiteSpace(strCondition)) return true;
    int charIndex = 0;
    while (charIndex < strCondition.Length)
    {
        string wordFound = null;
        foreach (string word in words)
        {
            if (word.Length + charIndex > strCondition.Length) 
                continue;
            string substring = strCondition.Substring(charIndex, word.Length);
            if (word == substring)
            {
                wordFound = word;
                break;
            }
        }
        if (wordFound == null)
            return false;
        else if (charIndex + wordFound.Length == strCondition.Length)
            return true;
        else
            charIndex += wordFound.Length;
    }
    return false;
}

注意,我已经重新排序了列表,最长的字符串应该放在第一位,因为在上面的算法中,这是更有效的。

两个例子说明了它的作用:

代码语言:javascript
运行
AI代码解释
复制
bool check = ValidateString("truefalse||truetrue"); // true
bool check = ValidateString("truefals||etruetrue"); // false
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29235926

复制
相关文章
python pandas读取csv文件_pandas将数据写入csv
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/175441.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
6.1K0
python pandas读取csv文件_pandas将数据写入csv
解析不规则csv文件文件帮助类
public class SplitHelper { /// <summary> /// 拓展分割 /// </summary> /// <param name="StrOneCsv">传入csv字符串</param> /// <returns></returns> public string[] ExpandSplit(string StrOneCsv) { StrOneCsv += ","; ArrayList ar
opengps
2018/04/13
1K0
将DataTable转换成CSV文件
该文介绍了如何将DataTable转换成CSV文件的方法,包括使用C#和StreamWriter等工具。
彭泽0902
2018/01/04
1.5K0
使用Java Scanner类解析CSV文件
如果你查看Scanner的API,你会发现该类支持文件和输入流作为输入方式,本例中我们采用文件的方式。
明明如月学长
2021/08/27
1.2K0
python爬虫将数据写入csv文件乱码
养成习惯,先赞后看!!! 出现乱码根本原因就是编码方式不对,但是博主自己尝试了三种编码方式终于找到了最合适的。
萌萌哒的瓤瓤
2020/08/26
4K0
python爬虫将数据写入csv文件乱码
Python 将数据写入文件(txt、csv、excel)
一、将列表数据写入txt、csv、excel 1、写入txt def text_save(filename, data):#filename为写入CSV文件的路径,data为要写入数据列表. file = open(filename,'a') for i in range(len(data)): s = str(data[i]).replace('[','').replace(']','')#去除[],这两行按数据不同,可以选择 s = s.replace
菲宇
2019/07/31
41.4K0
将Python网络爬虫的数据追加到csv文件
前几天在Python白银交流群有个叫【邓旺】的粉丝问了一个将Python网络爬虫的数据追加到csv文件的问题,这里拿出来给大家分享下,一起学习下。
前端皮皮
2022/08/17
2K0
将Python网络爬虫的数据追加到csv文件
支持各种特殊字符的 CSV 解析类 (.net 实现)(C#读写CSV文件)
csv(Comma Separated Values)逗号分隔值,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须象二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。CSV是一种Excel表格的导出格式,在Excel表格的菜单栏中点击文件->另存为会弹出一个文件夹浏览窗口,在下拉框中可以选择保存格式,其中有一个就是.CSV(逗号分隔符)选项。 CSV是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。最广泛的应用是在程序之间转移表格数据。因为大量程序都支持某种CSV变体,至少是作为一种可选择的输入/输出格式。例如,一个用户可能需要交换信息,从一个以私有格式存储数据的数据库程序,到一个数据格式完全不同的电子表格。最可能的情况是,该数据库程序可以导出数据为“CSV”,然后被导出的CSV文件可以被电子表格程序导入。 “CSV”并不是一种单一的、定义明确的格式(尽管RFC 4180有一个被通常使用的定义)。因此在实践中,术语“CSV”泛指具有以下特征的任何文件:
lulianqi
2018/08/30
3.3K0
【python】读取csv xlsx xlx txt文件 类
只需修改path class Reader: """ 可读取的文件格式: .csv .tsv .xlsx .xlx .txt """ @staticmethod def change_1d_array(array, header_cut=None, str_to_float=None): """ 为一维数组去掉第一个值;将字符串转为数值 :param array: type:<class 'numpy.ndarray'
司六米希
2022/11/15
1.1K0
利用脑记录产生的合成语音
这项研究是由语音科学家GopalaAnumanchipalli和Chang实验室的生物工程研究生Josh Chartier领导。该项研究是基于一系列研究基础上进行研究的,首次描述了人类大脑的语音中心是如何编排嘴唇,下巴,舌头,和其他声道组件的运动以生产流利的语音。
脑机接口社区
2020/07/01
5130
利用脑记录产生的合成语音
如何将多个csv文件合并到一个csv中
1、将所有的csv文件放到一个文件夹,比如D:/test中有a.csv,b.csv,c.csv,d.csv,f.csv
ytkah
2020/06/10
12K0
如何将多个csv文件合并到一个csv中
Java工具集-Csv文件读取工具类
添加依赖 <!--开源的opencsv--> <dependency> <groupId>com.opencsv</groupId> <artifactId>opencsv</artifactId> <version>4.6</version> </dependency> 代码示例 import java.io.FileInputStream; import java.io.FileNot
cwl_java
2020/05/01
2K0
利用Python批量将csv文件转化成xml文件
将 csv 格式转换成xml格式有许多方法,可以用数据库的方式,也有许多软件可以将 csv 转换成xml。但是比较麻烦,本文利用 Python 一键批量将 csv 文件转化成 xml 文件。
叶庭云
2021/12/01
1.7K0
利用Python批量将csv文件转化成xml文件
将文件夹中的文件信息统计写入到csv中
今天在整理一些资料,将图片的名字信息保存到表格中,由于数据有些多所以就写了一个小程序用来自动将相应的文件夹下的文件名字信息全部写入到csv文件中,一秒钟搞定文件信息的保存,省时省力!
小海怪的互联网
2019/09/18
9.3K0
CSV文件
CSV文件:Comma-Separated Values,中文叫,逗号分隔值或者字符分割值,其文件以纯文本的形式存储表格数据。该文件是一个字符序列,可以由任意数目的记录组成,记录间以某种换行符分割。每条记录由字段组成,字段间的分隔符是其他字符或者字符串。所有的记录都有完全相同的字段序列,相当于一个结构化表的纯文本形式。 用文本文件、EXcel或者类似与文本文件的都可以打开CSV文件。
狼啸风云
2020/02/11
2.6K0
使用python将csv文件快速转存到mysql
因为一些工作需要,我们经常会做一些数据持久化的事情,例如将临时数据存到文件里,又或者是存到数据库里。
我被狗咬了
2019/09/23
6.3K0
使用python将csv文件快速转存到mysql
python 读取单文件夹中的图片文件信息保存到csv文件中
# -*- coding: utf-8 -*- # @Time : 2019-09-17 10:21 # @Author : scyllake import os import csv #要读取的文件的根目录 root_path=r'C:\Users\zjk\Desktop\整理后的图片' #将所有目录下的文件信息放到列表中 def get_Write_file_infos(path): # 文件信息列表 file_infos_list=[] # 遍历并写入文件信息
小海怪的互联网
2019/10/14
5.7K0
基础知识 | 使用 Python 将数据写到 CSV 文件
我们从网上爬取数据,最后一步会考虑如何存储数据。如果数据量不大,往往不会选择存储到数据库,而是选择存储到文件中,例如文本文件、CSV 文件、xls 文件等。因为文件具备携带方便、查阅直观。
猴哥yuri
2018/08/16
1.9K0
点击加载更多

相似问题

Javascript在Internet Explorer中的行为很有趣

32

包含xml/html数据的jquery在internet explorer中的行为有所不同。

10

Div标记在Internet Explorer上的行为有所不同

11

javascript在internet explorer中的调试

21

Internet Explorer中的jScrollPane奇怪行为

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文