C# 中间3个字符的名称
我需要在c#字符串操作中查找名称中间3个字母的帮助,我的代码是:C# 中间3个字符的名称,c#,asp.net,string,substring,C#,Asp.net,String,Substring,我需要在c#字符串操作中查找名称中间3个字母的帮助,我的代码是: int len=propName.length; StringName middle3 = (len < 3) ? null : propName.substring(len / 2, len / 2 + 2); int len=propName.length; StringName middle3=(len
int len=propName.length;
StringName middle3 = (len < 3) ? null : propName.substring(len / 2, len / 2 + 2);
int len=propName.length;
StringName middle3=(len<3)?null:propName.substring(len/2,len/2+2);
对于某些名称,它返回中间的3个字母,但是如果我添加一个较长的名称,它将不起作用。此处的名称来自文本框输入控件
此外,有些姓名有偶数,并非所有姓名都有5、7或9个字母,在这种情况下我该怎么办?如果您输入的是“全名”(本例将获得中间名的中间三个字符):
First Middle Last
,请使用Split()
方法在它们之间的“空格
”上进行拆分myThree.Substring((len/2)-1,3)
获取中间的三个字符,以获取neext三个字母如需任何建议/澄清,我将乐意提供帮助 请给出一个再现问题的完整示例,例如添加
string propName=“name”代码>并解释您希望在这些情况下看到什么。在纸上写几个例子真的很有帮助。这里绝对没有足够的信息来回答这个问题。好的,我正在创建一个asp.net web应用程序,在我的btn中,我声明String name=txtName.Text;并将我的值传递给我的类,该类将执行字符串操作。我的方法是publicstringgenerateMidle3(),它有一个返回方法。如果用户输入Abdul,程序需要输出bdu,或者如果用户输入Govendr,则需要输出ven。但是像利雅得这样的名字,它怎么能输出中间的3个呢?会发生什么?在Riyadh
中,如果没有干净的中间-iya
或yad
,你会把什么列为中间三个字母?Riyadh-在这种情况下,你想看到哪三个字母?根据你的第4点,你可能是指myThree.Substring((len/2)-1,3)
@Corak,确实如此。干杯谢谢你,非常感谢你,科拉克先生,非常感谢你的帮助,我一定会的。再次感谢如果这有效/帮助了你,请记住通过接受它作为回答来帮助他人(单击左侧的勾号);P
String name = "James";
name = name.Replace(' ',''); //removes spaces (if any entered)
int len = string.Length;
if(len%2 ==0)
{
//then it is an even number
len--; //if you want the 'slightly' left-er part. Else remove this if statement
}
if(len>=3)
{
String myThree = myThree.Substring(len-1,3);
}
else
{
if(len==0)
{
Messagebox.Show("No name entered");
}
else
{
myThree= name;
}
}