如何在每个字符

时间:2017-01-30 07:12:13

标签: c# string

当用户输入名称Like USA时,应将其更改为U.S.A.,我该怎么写

str hell0 = "USA"

应将其保存在U.S.A

等数据库中

2 个答案:

答案 0 :(得分:6)

你应该尝试这样的事情:

string inputStr = "USA";
string outputStr = String.Join(".",inputStr.ToCharArray());
Console.WriteLine(outputStr);

工作示例here

答案 1 :(得分:3)

要在文本中更改缩写,您可以尝试使用 Linq

string source = 
  @"when a client insert a Name Like UAS its should be take as U.S.A  how can I wrote";

string result = string.Concat(Enumerable
  .Range(0, source.Length)
  .Select(index => index > 0 && 
                   char.IsUpper(source[index - 1]) && 
                   char.IsUpper(source[index])
    ? "." + source[index].ToString()
    : source[index].ToString())
  .ToArray());

测试

Console.Write(result);

结果

when a client insert a Name Like U.A.S its should be take as U.S.A  how can I wrote

正则表达式是另一种选择(请参阅下面的非幸运答案):

string result = Regex.Replace(
  source, "[A-Z]{2,}", 
  match => string.Join(".", match.Value.ToArray())); // taken from un-lucky's answer