Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 要删除单词中除第一个字符以外的所有字符吗_C#_.net - Fatal编程技术网

C# 要删除单词中除第一个字符以外的所有字符吗

C# 要删除单词中除第一个字符以外的所有字符吗,c#,.net,C#,.net,我是c#新手,我需要修剪一个有很多单词的句子。我只需要所有单词中的第一个字符。比如说 string sentence = "Bharat Electrical Limited"; //Split the words var letters = sentence.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries); //Take firsst letter of every word var myAbbWord = le

我是c#新手,我需要修剪一个有很多单词的句子。我只需要所有单词中的第一个字符。比如说

string sentence = "Bharat Electrical Limited";

//Split the words
var letters = sentence.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);

//Take firsst letter of every word
var myAbbWord = letters.Aggregate(string.Empty, (current, letter) => current + letter.First());
如果一个句子是这样的

string sentence = "Bharat Electrical Limited";

//Split the words
var letters = sentence.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);

//Take firsst letter of every word
var myAbbWord = letters.Aggregate(string.Empty, (current, letter) => current + letter.First());
输入:
Bharat Electrical Limited
=>输出:
BEL
我如何在c#中实现这一点

string sentence = "Bharat Electrical Limited";

//Split the words
var letters = sentence.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);

//Take firsst letter of every word
var myAbbWord = letters.Aggregate(string.Empty, (current, letter) => current + letter.First());
提前感谢

试试看

string sentence = "Bharat Electrical Limited";
var result = sentence.Split(' ').Aggregate("", (current, word) => current + word.Substring(0, 1));
string sentence = "Bharat Electrical Limited";

//Split the words
var letters = sentence.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);

//Take firsst letter of every word
var myAbbWord = letters.Aggregate(string.Empty, (current, letter) => current + letter.First());
编辑:这里有一个简短的解释:

string sentence = "Bharat Electrical Limited";

//Split the words
var letters = sentence.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);

//Take firsst letter of every word
var myAbbWord = letters.Aggregate(string.Empty, (current, letter) => current + letter.First());
语句。拆分(“”)
基于空格(“”)将字符串拆分为元素

string sentence = "Bharat Electrical Limited";

//Split the words
var letters = sentence.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);

//Take firsst letter of every word
var myAbbWord = letters.Aggregate(string.Empty, (current, letter) => current + letter.First());
.Aggregate(“,(当前,单词)=>current+word.Substring(0,1))
是一个linq表达式,用于迭代上面检索到的每个单词并对其执行操作

string sentence = "Bharat Electrical Limited";

//Split the words
var letters = sentence.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);

//Take firsst letter of every word
var myAbbWord = letters.Aggregate(string.Empty, (current, letter) => current + letter.First());
word.Substring(0,1)
返回每个单词的第一个字母

首先要将字符串转换为单词,然后从每个单词中提取第一个字母。您可以通过如下所示的简单for循环来完成此操作:

string inputStr = "Bharat Electrical Limited";
List<char> firstChars = new List<char>();
foreach (string word in inputStr.Split(new char[]{' '},StringSplitOptions.RemoveEmptyEntries))
{
    firstChars.Add(word[0]); // Collecting first chars of each word
}
string outputStr = String.Join("", firstChars);
string sentence = "Bharat Electrical Limited";

//Split the words
var letters = sentence.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);

//Take firsst letter of every word
var myAbbWord = letters.Aggregate(string.Empty, (current, letter) => current + letter.First());
如果每个字符串中的第一个字符不是大写,则可以使用以下任何选项

string sentence = "Bharat Electrical Limited";

//Split the words
var letters = sentence.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);

//Take firsst letter of every word
var myAbbWord = letters.Aggregate(string.Empty, (current, letter) => current + letter.First());
  • 在执行操作之前,将输入输入到标题大小写句子中
  • 为此,您可以使用以下代码:

    inputStr = System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(inputStr.ToLower());
    
    string sentence = "Bharat Electrical Limited";
    
    //Split the words
    var letters = sentence.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
    
    //Take firsst letter of every word
    var myAbbWord = letters.Aggregate(string.Empty, (current, letter) => current + letter.First());
    
  • 从单词中收集字符时,将字符转换为大写
  • 这可以通过以下方式实现:

    firstChars.Add(char.ToUpper(word[0])); // For the first case
    .Select(x => char.ToUpper(x[0])) // For the second case
    
    string sentence = "Bharat Electrical Limited";
    
    //Split the words
    var letters = sentence.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
    
    //Take firsst letter of every word
    var myAbbWord = letters.Aggregate(string.Empty, (current, letter) => current + letter.First());
    

    您可以找到上述所有情况的工作示例

    您可以这样做-

    string sentence = "Bharat Electrical Limited";
    
    //Split the words
    var letters = sentence.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
    
    //Take firsst letter of every word
    var myAbbWord = letters.Aggregate(string.Empty, (current, letter) => current + letter.First());
    
    myAbbWord
    应该为您显示BEL。

    以下是解决方案

    string sentence = "Bharat Electrical Limited";
    
    //Split the words
    var letters = sentence.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
    
    //Take firsst letter of every word
    var myAbbWord = letters.Aggregate(string.Empty, (current, letter) => current + letter.First());
    
    我希望有帮助

    string sentence = "Bharat Electrical Limited";
    
    //Split the words
    var letters = sentence.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
    
    //Take firsst letter of every word
    var myAbbWord = letters.Aggregate(string.Empty, (current, letter) => current + letter.First());
    
    string str1 = "Bharat Electrical Limited";
    var resultList = str1.Split(' ');
    string result = resultList.Aggregate(String.Empty, (current, word) => current + word.First());
    
    最简单的方法是:

    string sentence = "Bharat Electrical Limited";
    
    //Split the words
    var letters = sentence.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
    
    //Take firsst letter of every word
    var myAbbWord = letters.Aggregate(string.Empty, (current, letter) => current + letter.First());
    
    string inputStr = "Bharat Electrical Limited";
    
    string result = new String(inputStr.Split(' ').Select(word => (word[0])).ToArray());
    // BEL
    
    您需要使用System.Linq添加
    到源文件

    string sentence = "Bharat Electrical Limited";
    
    //Split the words
    var letters = sentence.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
    
    //Take firsst letter of every word
    var myAbbWord = letters.Aggregate(string.Empty, (current, letter) => current + letter.First());
    
    逻辑是:

    string sentence = "Bharat Electrical Limited";
    
    //Split the words
    var letters = sentence.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
    
    //Take firsst letter of every word
    var myAbbWord = letters.Aggregate(string.Empty, (current, letter) => current + letter.First());
    

    将字符串拆分为数组或单词(由空格分隔),然后通过选择每个字符串的第一个字符来投影该数组。结果是第一个字符的数组。然后使用字符串重载构造函数获取字符数组,构造结果字符串。

    这是使用正则表达式很容易完成的事情:

    string sentence = "Bharat Electrical Limited";
    
    //Split the words
    var letters = sentence.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
    
    //Take firsst letter of every word
    var myAbbWord = letters.Aggregate(string.Empty, (current, letter) => current + letter.First());
    
    s = Regex.Replace(s, @"(\S)\S*\s*", "$1");
    

    这将有效地匹配连续的非空格字符,后跟空格,并用第一个字符替换整个序列。

    这可能对您更友好

    string sentence = "Bharat Electrical Limited";
    
    //Split the words
    var letters = sentence.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
    
    //Take firsst letter of every word
    var myAbbWord = letters.Aggregate(string.Empty, (current, letter) => current + letter.First());
    
    string intput = "Bharat Electrical Limited";
    string output = string.Join( "",intput.Split(new string[] {" "}, StringSplitOptions.RemoveEmptyEntries)
                   .Select(a => a.First()));
    
    首先用空格分隔输入字符,然后使用
    string
    上的
    First()
    扩展名获取字符串的第一个字符使用此方法

    string sentence = "Bharat Electrical Limited";
    
    //Split the words
    var letters = sentence.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
    
    //Take firsst letter of every word
    var myAbbWord = letters.Aggregate(string.Empty, (current, letter) => current + letter.First());
    
      string inputStr = "Bharat Electrical Limited";
      var arrayString = string.Join("", inputStr.Split(' ').Select(x => x[0]));
    

    欢迎使用Stack Overflow和C#,您尝试了什么?在空格上拆分,首先获取每个结果项尝试修剪它没有的字符串happening@NaveenkumarR请在下面的答案中尝试我的简单方法。很抱歉与此无关,但我只想指出,这一问题应被授予在一小时内获得最多答案的奖励你应该解释一下你在做什么。即使是简短的。@NaveenkumarR-如果它对您有效,您也可以将其标记为应答。为什么聚合函数会像System一样给出错误。数组不包含聚合或缺少指令的定义?它可以与控制台应用程序一起正常工作,如果我在wpf中尝试相同的方法,它将不起作用并给出错误…请确保您使用的是System.Linq
    并添加了一个引用。您可以使用
    String.Concat
    而不是
    String.Join
    @ErenErsönmez:我认为
    String.Join
    串联
    更好。由于
    依赖于内部StringBuilder来构建连接的字符串,不是吗?那么您为什么建议将
    串接
    ?另外,与其将整个字符串更改为标题大小写(这可能会很昂贵),不如简单地
    。选择(x=>x[0].ToUpper())
    ?请参阅method@Jcl:好主意,但是
    Char
    没有
    .ToUpper()
    方法,如果我们想这样做,意味着我们需要这样做:
    x[0].ToString().ToUpper()