07.C#中如何排除/过滤/清空/删除掉字符串数组中的空字符串

方式一:使用lambda表达式筛选过滤掉数组中空字符串        

 1        /// <summary>
 2             /// 使用lambda表达式排除/过滤/清空/删除掉字符串数组中的空字符串
 3             /// </summary>
 4             /// <param name="args"></param>
 5             static void Main(string[] args)
 6             {
 7                 string[] strArray = { "","111","","222","","333"};
 8                 Console.WriteLine("输出带有空字符串的数组:");
 9                 foreach (string str in strArray)
10                 {
11                     Console.WriteLine(str);
12                 }
13                 Console.WriteLine("-------------------------------------------");
14                 //使用lambda表达式过滤掉空字符串
15                 strArray = strArray.Where(s=>!string.IsNullOrEmpty(s)).ToArray();
16                 Console.WriteLine("输出过滤掉空字符串的数组:");
17                 foreach (string str in strArray)
18                 {
19                     Console.WriteLine(str);
20                 }
21                 Console.Read();
22             }

方式二:使用泛型集合List<string>的ForEach循环,过滤获取正确的字符串,重新添加到新字符串数组中    

 1           string[] strArray = { "", "111", "", "222", "", "333" };
 2                 Console.WriteLine("输出带有空字符串的数组:");
 3                 foreach (string str in strArray)
 4                 {
 5                     Console.WriteLine(str);
 6                 }
 7                 Console.WriteLine("-------------------------------------------");
 8
 9                 /*
10                  *使用List泛型集合的ForEach方法循环获取非空空字符串
11                  *这里使用了匿名方法
12                  */
13                 List<string> list = new List<string>();
14                 strArray.ToList().ForEach(
15                 (s) =>
16                 {
17                     if (!string.IsNullOrEmpty(s))
18                     {
19                         list.Add(s);
20                     }
21                 }
22                 );
23                 strArray = list.ToArray();
24
25                 Console.WriteLine("输出过滤掉空字符串的数组:");
26                 foreach (string str in strArray)
27                 {
28                     Console.WriteLine(str);
29                 }
30                 Console.Read();

方式三:使用传统循环方式来排除和删除字符串数组中的空字符串          

 1           string[] strArray = { "", "111", "", "222", "", "333" };
 2                 Console.WriteLine("输出带有空字符串的数组:");
 3                 foreach (string str in strArray)
 4                 {
 5                     Console.WriteLine(str);
 6                 }
 7                 Console.WriteLine("-------------------------------------------");
 8
 9                 //使用循环排除和过滤掉空字符串
10                 List<string> list = new List<string>();
11                 foreach (string s in strArray)
12                 {
13                     if (!string.IsNullOrEmpty(s))
14                     {
15                         list.Add(s);
16                     }
17                 }
18
19                 strArray = list.ToArray();
20
21                 Console.WriteLine("输出过滤掉空字符串的数组:");
22                 foreach (string str in strArray)
23                 {
24                     Console.WriteLine(str);
25                 }
26                 Console.Read();

原文地址:https://www.cnblogs.com/zhh19981104/p/9692068.html

时间: 2024-10-04 21:49:32

07.C#中如何排除/过滤/清空/删除掉字符串数组中的空字符串的相关文章

C++_第七章函数的基本知识_求阶乘的子函数_ 函数参数类型为数组_ 求数组内所有元素和、部分元素和的方法_实现了先从键盘输入到一个数组中,再用for循环取读出数组中的元素 for循环也可以用break来结束循环的

/* 第七章函数的基本知识 */ /*01)c++对于返回值有一定的限制:可以是常量.变量.指针.结构对象或表达式,但不可以是数组02)c++返回数组的方法:将数组作为结构会对象组成部分来返回03)函数遇到return则结束该函数04)如果一个函数的两房额参数类型相同,则必须分别制定每个参数的类型,而不能像声明常规变量那样,将声明组合在一起05)*/ //本代码注意double类型的写法以及double和int类型数据的转换 1 #include <iostream> 2 3 void che

在一组降序排列的数组中插入一个数据,插入后,数组中数据依然按降序排列

分析: 1.数组固定,是一个倒序的数组 2.插入一个数据,这个数据插在哪呢,要比较,与数组中所有的元素比较,这里需要一个循环,因为是降序的数组,所以当第一次遇到比自己小的,那么这个位置就是要插入的位置 3.因为上一步被占了位置,那么从这个插入的数据开始,后面的原本的数据都得向右移一位 /** * */ package com.cn.u4; import java.util.Scanner; /** * @author Administrator *向有序数组中插入学员成绩 * 在一组降序排列的数

把vector中的string对象导入到字符指针数组中

#include <iostream>#include <string>#include <vector>//#include <cctype>#include <cstring>//#include "Sales_item.h" using namespace std; //把vector中的string对象导入到字符指针数组中int main(){ vector<string> svec; string str

实现字符串数组中字符串交换

实现字符串数组中字符串交换 2015-06-01  青岛  张俊浩 <实现字符串数组字符串交换>分为三部分: [1]论坛帖子 [2]代码思路 [3]代码.运行结果 1.论坛帖子 2.代码思路 (1)两个字符串等长正常交换即可: (2)两个字符串不等长交换短字符串宽度的字符数据(包括结束符),拷贝长字符剩余字符到短字符串数据区(此时长字符串剩余数据还在内存只是被结束符'\0'分割). 3.代码.运行结果 #include<stdio.h> void swap(char *a,char

字符串数组 输入3个字符串,要求按由小到大的字母顺序输出; 输入n个学生的姓名和学号到字符串数组中,在输入一个姓名,如果班级有该生则返回其信息,否则返回本班无此人

输入3个字符串,要求按由小到大的字母顺序输出 如 输入franch england china,输出结果是china england franch 三个数排序输出,比较三个数的大小怎么做? a=18 b= 9 c=30 a>b 交换 a=9 b=18 可不可以用选择法?可不可以用冒泡法?但是这里用不着 例题: string1 string2 string3 temp a=18 b= 9 c=30 b>c? 交换 b中放的是b 和 c 中小的数,c中放的是bc中大的数. 如果a<b,则输出

3.键盘输入10个数,放到数组中,(1)去除该数组中大于10的数 (2)将该数组中的数字写入到本地文件number.txt中

package cn.it.text; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; /* * 3.键盘输入10个数,放到数组中 (1)去除该数组中大于10的数 (2)将该数组中的数字写入到本地文件number.txt中 */ public class Test3 { public static int[] arr = new int[10]; public static void

jquery 从页面获取li数组,删除不在数组中的key

应用场景: 获取页面 li 下面 key的值,添加到 arr数组 删除车型不在arr 数组中的value值. 示例代码: var getSaleModels = function(brand_id){ if(brand_id){ var li = $(".pinpai-chexing"+brand_id+" li"); var arr = new Array(); if (li.length > 0){ li.each(function(index, elem

电脑硬盘中的文件被彻底删除掉之后要怎么恢复?

最近在和公司来的新公司做交接的工作,等了一个多月了,终于有新同事来接手这块的工作了,说实话,虽然老板给我多加了一点薪水,但是一个人来做两个人的事情,还是很累的,我已经记不得这个月我加了多少个晚上的班了,只是觉得每天晚上都很累,每天躺在床上都可以在分分钟的时间内睡着,但是没办法,毕竟老板交代下来的事情,我们还是必须要做好的. 而这段时间,我电脑中的文件也是极具的增加,因为另一份工作是一个管理数据的工作,所以经常都需要保存文件什么的,然后还需要上传下达的,十分的麻烦.这不,昨天我一下子全部打包给了新

字符串数组中两个字符的最短距离

[leetcode] https://leetcode.com/problems/shortest-word-distance/ For example,Assume that words = ["practice", "makes", "perfect", "coding", "makes"]. Given word1 = "coding", word2 = "practic