带有MessageBox的C#String.SubString不显示任何内容
我试图使用带有MessageBox的C#String.SubString不显示任何内容,c#,string,substring,messagebox,C#,String,Substring,Messagebox,我试图使用消息框显示字符串的一部分,为此我使用字符串.SubString方法。但是,当我运行代码时,不会显示消息框,也不会抛出错误 为了进行故障排除,在尝试显示子字符串之前,我会在消息框中显示整个字符串 这将显示以下内容(Received | 22 |): 我想显示字符串的数字部分,但是当我尝试这样做时,什么也不显示。有人能看出哪里出了问题吗?代码如下: public void parseMessage(string theMessage) { String message = the
消息框
显示字符串
的一部分,为此我使用字符串.SubString
方法。但是,当我运行代码时,不会显示消息框
,也不会抛出错误
为了进行故障排除,在尝试显示子字符串之前,我会在消息框中显示整个字符串
这将显示以下内容(Received | 22 |
):
我想显示字符串的数字部分,但是当我尝试这样做时,什么也不显示。有人能看出哪里出了问题吗?代码如下:
public void parseMessage(string theMessage)
{
String message = theMessage.Replace("\n", String.Empty);
MessageBox.Show("Received |" + message + "|");
String zoneNumber = message.Substring(5, message.Length);
if (message.StartsWith("<BID>"))
{
MessageBox.Show("Bid received for zone " + zoneNumber);
}
}
公共消息(字符串消息)
{
String message=theMessage.Replace(“\n”,String.Empty);
MessageBox.Show(“已接收的|”+消息+“|”);
String zoneumber=message.Substring(5,message.Length);
if(message.StartsWith(“”)
{
MessageBox.Show(“收到的区域投标”+Zoneumber);
}
}
我无法访问您的链接图像,因此我不知道消息包含什么,但是
String zoneNumber = message.Substring(5, message.Length);
应引发异常,因为它将使字符串长度溢出5个字符
使用
相反。换衣服怎么样
String zoneNumber = message.Substring(5, message.Length);
到
我想显示字符串的数字部分,但是当我尝试执行此操作时,不会显示任何内容
这是因为,在查看您的消息时,它有前导空格,而您正试图使用(“”
首先,TrimStart
,然后尝试使用StartsWith
,或者只执行包含的操作
StartsWith
:
if (message.TrimStart().StartsWith("<BID>"))
{
MessageBox.Show("Bid received for zone " + zoneNumber);
}
if(message.TrimStart().StartsWith(“”)
{
MessageBox.Show(“收到的区域投标”+Zoneumber);
}
您可以使用rplace而不是SubString
if (message.StartsWith("<BID>"))
{
MessageBox.Show("Bid received for zone " + message.Replace("<BID>",""));
}
if(message.StartsWith(“”)
{
MessageBox.Show(“区域收到投标书”+消息。替换(“,”);
}
所以问题是如果(message.StartsWith(“”))不返回true
这有用吗
public void parseMessage(string theMessage)
{
String message = theMessage.Replace("\r", String.Empty).Replace("\n", String.Empty).Replace("\r\n", String.Empty);
MessageBox.Show("Received |" + message + "|");
String zoneNumber = message.Substring(5, message.Length);
if (message.TrimStart().StartsWith("<BID>"))
{
MessageBox.Show("Bid received for zone " + zoneNumber);
}
}
公共消息(字符串消息)
{
字符串消息=message.Replace(“\r”,String.Empty)。Replace(“\n”,String.Empty)。Replace(“\r\n”,String.Empty);
MessageBox.Show(“已接收的|”+消息+“|”);
String zoneumber=message.Substring(5,message.Length);
if(message.TrimStart().StartsWith(“”)
{
MessageBox.Show(“收到的区域投标”+Zoneumber);
}
}
试试这个:
String bidMarker = "<BID>";
int startLoc = message.IndexOf(bid);
if (startLoc != -1)
{
String zoneNumber = message.Substring(startLoc + bidMarker.Length).Trim();
MessageBox.Show("Bid received for zone " + zoneNumber);
}
String bidMarker=”“;
int STARTOC=message.IndexOf(bid);
如果(startLoc!=-1)
{
String zoneumber=message.Substring(startOC+bidMarker.Length).Trim();
MessageBox.Show(“收到的区域投标”+Zoneumber);
}
你能将信息以文本形式发布,而不是链接到图像共享站点吗?@DStanley完成,你可能已经自己编辑过了:)虽然我不能100%确定,但看起来它实际上是以“`”开头的-注意前导空格。@rudiviser,很简单。他可能无法到达那个地点。这取决于他在哪里。@Rudiviser如果我能访问imgur.com,我会的。
public void parseMessage(string theMessage)
{
String message = theMessage.Replace("\r", String.Empty).Replace("\n", String.Empty).Replace("\r\n", String.Empty);
MessageBox.Show("Received |" + message + "|");
String zoneNumber = message.Substring(5, message.Length);
if (message.TrimStart().StartsWith("<BID>"))
{
MessageBox.Show("Bid received for zone " + zoneNumber);
}
}
String bidMarker = "<BID>";
int startLoc = message.IndexOf(bid);
if (startLoc != -1)
{
String zoneNumber = message.Substring(startLoc + bidMarker.Length).Trim();
MessageBox.Show("Bid received for zone " + zoneNumber);
}