当用户输入名称Like USA时,应将其更改为U.S.A.,我该怎么写
str hell0 = "USA"
应将其保存在U.S.A
答案 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