Matlab 版 (精华区)
发信人: zjliu (秋天的萝卜), 信区: Matlab
标 题: [合集]strcat中如何加空格
发信站: 哈工大紫丁香 (2003年07月13日21:20:48 星期天), 站内信件
发信人: DE (de), 信区: Matlab
标 题: strcat中如何加空格
发信站: 哈工大紫丁香 (2003年06月22日19:46:22 星期天), 站内信件
str(3)=strcat(Date(i),' ',str_t)
想用str(3)作标注为什么空格不起作用,应当如何改才能加空格。
--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 210.34.8.7]
发信人: zjliu (秋天的萝卜), 信区: Matlab
标 题: Re: strcat中如何加空格
发信站: 哈工大紫丁香 (2003年06月22日20:08:44 星期天), 站内信件
str(3)=char({'a';' ';'b'})'
【 在 DE (de) 的大作中提到: 】
: str(3)=strcat(Date(i),' ',str_t)
: 想用str(3)作标注为什么空格不起作用,应当如何改才能加空格。
--
╔═══════════════════╗
║★★★★★友谊第一 比赛第二★★★★★║
╚═══════════════════╝
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.229.86]
发信人: ghb (闭门修炼 之 桌子开花), 信区: Matlab
标 题: Re: strcat中如何加空格
发信站: 哈工大紫丁香 (2003年06月23日08:42:55 星期一), 站内信件
你的这个处理方式当处理单个字符时是可以的,但是当处理多字符时就会有问题,比如
str=char({'adq';' ';'fb'})'
运行结果为:
str =
a f
d b
q
我想De网友的目的是想得到这么个结果:adq fb
我想可以这么来处理:
str=strvcat('adq','fb');
De=[str(1,:),' ',str(2,:)]
这样我们就得到了所要的结果:adq fb
【 在 zjliu (秋天的萝卜) 的大作中提到: 】
: str(3)=char({'a';' ';'b'})'
: 【 在 DE (de) 的大作中提到: 】
: : str(3)=strcat(Date(i),' ',str_t)
: : 想用str(3)作标注为什么空格不起作用,应当如何改才能加空格。
--
┃千┃ ━ ━━ ┃新┃| |_| | _ _ _ _ _ _ _ _ ☆ 2002 ☆
┃禧┃━┳━┏━┓┃春┃| _ | /'_` )( '_`\ ( '_`\ ( ) ( )祝大家新年快乐!
┃举┃┃┃┃┗━┛┃普┃| | | |( (_| || (_) )| (_) )| (_) |
┃世┃┃┃┃┏┳┓┃天┃(_) (_)`\__,_)| ,__/'| ,__/'`\__, |
┃共┃ ┃ ┃╋┃┃同┃ | | | | ( )_| |
┃欢┃ ┛ ┗┻┛┃庆┃ (_) (_) `\___/
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.237.199]
发信人: zjliu (秋天的萝卜), 信区: Matlab
标 题: Re: strcat中如何加空格
发信站: 哈工大紫丁香 (2003年06月23日09:35:12 星期一), 站内信件
好,就按你说的办
【 在 ghb (闭门修炼 之 桌子开花) 的大作中提到: 】
: 标 题: Re: strcat中如何加空格
: 发信站: 哈工大紫丁香 (2003年06月23日08:42:55 星期一), 站内信件
:
: 你的这个处理方式当处理单个字符时是可以的,但是当处理多字符时就会有问题,比如
: str=char({'adq';' ';'fb'})'
: 运行结果为:
: str =
: a f
: d b
: q
:
: 我想De网友的目的是想得到这么个结果:adq fb
:
: 我想可以这么来处理:
: str=strvcat('adq','fb');
: De=[str(1,:),' ',str(2,:)]
: 这样我们就得到了所要的结果:adq fb
:
:
:
: 【 在 zjliu (秋天的萝卜) 的大作中提到: 】
: : str(3)=char({'a';' ';'b'})'
: : 【 在 DE (de) 的大作中提到: 】
: : : str(3)=strcat(Date(i),' ',str_t)
: : : 想用str(3)作标注为什么空格不起作用,应当如何改才能加空格。
:
:
: --
: ┃千┃ ━ ━━ ┃新┃| |_| | _ _ _ _ _ _ _ _ ☆ 2002 ☆
: ┃禧┃━┳━┏━┓┃春┃| _ | /'_` )( '_`\ ( '_`\ ( ) ( )祝大家新年快乐!
: ┃举┃┃┃┃┗━┛┃普┃| | | |( (_| || (_) )| (_) )| (_) |
: ┃世┃┃┃┃┏┳┓┃天┃(_) (_)`\__,_)| ,__/'| ,__/'`\__, |
: ┃共┃ ┃ ┃╋┃┃同┃ | | | | ( )_| |
: ┃欢┃ ┛ ┗┻┛┃庆┃ (_) (_) `\___/
:
: ※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.237.199]
--
╔═══════════════════╗
║★★★★★友谊第一 比赛第二★★★★★║
╚═══════════════════╝
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.229.86]
发信人: ghb (闭门修炼 之 桌子开花), 信区: Matlab
标 题: Re: strcat中如何加空格
发信站: 哈工大紫丁香 (2003年06月23日10:44:48 星期一), 站内信件
以上这个程序还是有点问题的,当str=strvcat('er','fghv')时,应用以上方法就会
出现这样的结果
De =
er fghv
实际上也是不合乎要求的。
那么可以考虑使用以下这么个程序:
%The required style of the strings is Gm = 20 db (at...)
str=strvcat('Gm =',num2str(20),'db','(at...)');
a=size(str);
De=[];
for i=1:a(1)
for k=1:a(2)
if str(i,k)-char(' ') > 0
k1(i)=k;
end
end
De=[De,' ',str(i,1:k1(i))];
end
会得到以下要求的结果
De =
Gm = 20 db (at...)
即使第一个字符串中含有空格。
这样程序就有通用性了。
赫赫。
【 在 zjliu (秋天的萝卜) 的大作中提到: 】
: 好,就按你说的办
: 【 在 ghb (闭门修炼 之 桌子开花) 的大作中提到: 】
: : 标 题: Re: strcat中如何加空格
: : 发信站: 哈工大紫丁香 (2003年06月23日08:42:55 星期一), 站内信件
: : 你的这个处理方式当处理单个字符时是可以的,但是当处理多字符时就会有问题,比如
: : str=char({'adq';' ';'fb'})'
: : 运行结果为:
: : str =
: : a f
: : d b
--
┃千┃ ━ ━━ ┃新┃| |_| | _ _ _ _ _ _ _ _ ☆ 2002 ☆
┃禧┃━┳━┏━┓┃春┃| _ | /'_` )( '_`\ ( '_`\ ( ) ( )祝大家新年快乐!
┃举┃┃┃┃┗━┛┃普┃| | | |( (_| || (_) )| (_) )| (_) |
┃世┃┃┃┃┏┳┓┃天┃(_) (_)`\__,_)| ,__/'| ,__/'`\__, |
┃共┃ ┃ ┃╋┃┃同┃ | | | | ( )_| |
┃欢┃ ┛ ┗┻┛┃庆┃ (_) (_) `\___/
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.237.199]
发信人: Mathsims (玉子), 信区: Matlab
标 题: Re: strcat中如何加空格
发信站: 哈工大紫丁香 (Mon Jun 23 20:34:02 2003)
有个问题:
你给出的这种方法只在一个字符时得到了希望的结果,下面的例子表明这种做法不能为这
一类问题提供帮助:
char({'ad';' ';'sb'})'
ans =
a s
d b
【 在 zjliu 的大作中提到: 】
: str(3)=char({'a';' ';'b'})'
: 【 在 DE (de) 的大作中提到: 】
: : str(3)=strcat(Date(i),' ',str_t)
: : 想用str(3)作标注为什么空格不起作用,应当如何改才能加空格。
--
※ 来源:.哈工大紫丁香 bbs.hit.edu.cn [FROM: 202.118.226.28]
发信人: Mathsims (玉子), 信区: Matlab
标 题: Re: strcat中如何加空格
发信站: 哈工大紫丁香 (Mon Jun 23 20:36:02 2003)
不好意思,动手快了,还没看您这片帖自我就把这个问题又回了一遍。
【 在 ghb 的大作中提到: 】
: 你的这个处理方式当处理单个字符时是可以的,但是当处理多字符时就会有问题,比如
: str=char({'adq';' ';'fb'})'
: 运行结果为:
: str =
: a f
: d b
: q
: 我想De网友的目的是想得到这么个结果:adq fb
: 我想可以这么来处理:
: str=strvcat('adq','fb');
: De=[str(1,:),' ',str(2,:)]
: 这样我们就得到了所要的结果:adq fb
: 【 在 zjliu (秋天的萝卜) 的大作中提到: 】
: : str(3)=char({'a';' ';'b'})'
--
※ 来源:.哈工大紫丁香 bbs.hit.edu.cn [FROM: 202.118.226.28]
发信人: Mathsims (玉子), 信区: Matlab
标 题: Re: strcat中如何加空格
发信站: 哈工大紫丁香 (Mon Jun 23 20:44:51 2003)
其实这个问题的解法有多种。
我比较推崇使用矩阵符号解题。比如这道题,可以如下命令解:
['de',' ','de']
或者
['de',' de']
或者
['de ','de']
使用strcat也可以这样做:
strcat('de',' de') (我认为MATLAB提供此类函数是为了照顾C语言使用者的习惯,那么
strcat('de ','de')不能得到期望的解就很容易理解——C语言中以空格为字符串结束符号
。)
或者
strcat('de',[' ','de'])
当然这时调用strcat函数纯属脱裤子放屁。
如两位大虾帖中所述,使用char函数也能得到希望的结果。
【 在 DE 的大作中提到: 】
: str(3)=strcat(Date(i),' ',str_t)
: 想用str(3)作标注为什么空格不起作用,应当如何改才能加空格。
--
※ 来源:.哈工大紫丁香 bbs.hit.edu.cn [FROM: 202.118.226.28]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:5.971毫秒