vb中如何去掉字符串最左边和最右边的字符
4个回答
展开全部
回答一下你的问题:
1.为什么程序不进while循环。
因为while循环是在当括号内的表达式值为真的时候才进入,你的条件表达式不对,当然进不去。
2.关于“ 没有从 'const char *' 至 'int' 的转换”。
大家都知道字符比较实质上比较的是其ASCII值,这是一个0-255之间的整数。表达一个字符常量,应该用单引号括起来。你用双引号括起来,就是一个字符串常量,字符串用其首地址表示,所以编译器提示你不能把一个常量字符指针和整数做比较。
我写的代码如下:
#include <stdio.h>
char* remove (char *p) /*返回char*方便调用*/
{
while (*p == ' ') /*当指针指向的字符是空格时,把指针向后偏移。*/
{
p ++;
} /*至此,前面空格已经忽略掉了。*/
int i;
for (i = 0; p[i]; i ++)
if (p[i] == ' ') p[i] = '0'; /*把后面的空格改成0*/
return p;
}
int main () /*调用测试一下。*/
{
char a[] = " te st ";
printf ("%s\n", remove (a));
getchar ();
return 0;
}
1.为什么程序不进while循环。
因为while循环是在当括号内的表达式值为真的时候才进入,你的条件表达式不对,当然进不去。
2.关于“ 没有从 'const char *' 至 'int' 的转换”。
大家都知道字符比较实质上比较的是其ASCII值,这是一个0-255之间的整数。表达一个字符常量,应该用单引号括起来。你用双引号括起来,就是一个字符串常量,字符串用其首地址表示,所以编译器提示你不能把一个常量字符指针和整数做比较。
我写的代码如下:
#include <stdio.h>
char* remove (char *p) /*返回char*方便调用*/
{
while (*p == ' ') /*当指针指向的字符是空格时,把指针向后偏移。*/
{
p ++;
} /*至此,前面空格已经忽略掉了。*/
int i;
for (i = 0; p[i]; i ++)
if (p[i] == ' ') p[i] = '0'; /*把后面的空格改成0*/
return p;
}
int main () /*调用测试一下。*/
{
char a[] = " te st ";
printf ("%s\n", remove (a));
getchar ();
return 0;
}
展开全部
看题意,就是去掉字符串两边的的两个英文标点留下中间的字符串内容吗?这个简单有效的就是下面这一句就搞定了,不需要复杂的代码:
假设字符串存在Str中,那么:
Str=Mid(Str,2,Len(Str)-2)
就OK啦,简单实用。
假设字符串存在Str中,那么:
Str=Mid(Str,2,Len(Str)-2)
就OK啦,简单实用。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Option Explicit
Private Sub Command1_Click()
Dim i As Long, A As String
If SS(Text1.Text, A) Then
Text2.Text = A
Else
MsgBox "输入错误", , ""
End If
End Sub
Private Function SS(ByVal StrA As String, StrB As String) As Boolean 'StrA输入,StrB输出,SS为True时输入正确,为False时输入错误
Dim i As Long, T As String
i = Len(StrA)
If i = 0 Then
SS = False
Exit Function
End If
If i = 1 Then
StrB = ""
SS = True
Exit Function
End If
'如果要求只去除输入字符串前后的特定字符,可以在这里加入判断条件
T = Left(StrA, i - 1)
i = i - 1
StrB = Right(T, i - 1)
SS = True
End Function
Private Sub Command1_Click()
Dim i As Long, A As String
If SS(Text1.Text, A) Then
Text2.Text = A
Else
MsgBox "输入错误", , ""
End If
End Sub
Private Function SS(ByVal StrA As String, StrB As String) As Boolean 'StrA输入,StrB输出,SS为True时输入正确,为False时输入错误
Dim i As Long, T As String
i = Len(StrA)
If i = 0 Then
SS = False
Exit Function
End If
If i = 1 Then
StrB = ""
SS = True
Exit Function
End If
'如果要求只去除输入字符串前后的特定字符,可以在这里加入判断条件
T = Left(StrA, i - 1)
i = i - 1
StrB = Right(T, i - 1)
SS = True
End Function
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Private Sub Command1_Click()
Dim a
a = Text1.Text
Text2.Text = Right(a, Len(a) - 1)'去掉最左边的
End Sub
Private Sub Command2_Click()‘去掉最右边的
Dim a
a = Text1.Text
Text2.Text = Left(a, Len(a) - 1)‘去掉最右边的
End Sub
Private Sub Command3_Click()
Dim a
a = Text1.Text
Text2.Text = mid(a,2,len(a)-2)’去掉两边的
End Sub
Dim a
a = Text1.Text
Text2.Text = Right(a, Len(a) - 1)'去掉最左边的
End Sub
Private Sub Command2_Click()‘去掉最右边的
Dim a
a = Text1.Text
Text2.Text = Left(a, Len(a) - 1)‘去掉最右边的
End Sub
Private Sub Command3_Click()
Dim a
a = Text1.Text
Text2.Text = mid(a,2,len(a)-2)’去掉两边的
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询