声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3592|回复: 12

[编程技巧] 有读取txt文件中汉字的命令吗?

[复制链接]
发表于 2007-6-8 15:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
matlab有读取txt文件中汉字的命令吗?我想把txt中的汉字做为字符直接赋值给一个变量,有这样的命令吗?

[ 本帖最后由 eight 于 2007-6-8 15:54 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-6-8 15:57 | 显示全部楼层


估计要使用正则表达式自己编写,参考以下帖子:[原创]使用文本文件(.txt)进行数据存取的技巧总结 中的“五、4”

[ 本帖最后由 eight 于 2007-6-8 16:01 编辑 ]
 楼主| 发表于 2007-6-8 16:08 | 显示全部楼层
谢谢
 楼主| 发表于 2007-6-9 12:35 | 显示全部楼层

怎么把一个高维数组变成一维的,按行排列,元素不变

例如: 1  2  3
        4  5  6    变成  1 2 3 4 5 6
 楼主| 发表于 2007-6-9 13:10 | 显示全部楼层
我知道可以用reshape,但是我不知道数组的元素数,如何转化啊?
 楼主| 发表于 2007-6-9 13:22 | 显示全部楼层
用length先求数组元素个数就可以了,有其他方法不?
发表于 2007-6-9 13:30 | 显示全部楼层
很简单,试试如下代码:
%%%%%%
x=[1  2  3;4  5  6]
y=x';
y(:)'
%%%%%%
不过有reshape不用---为何不将问题直接贴出来呢?

[ 本帖最后由 xjzuo 于 2007-6-9 13:32 编辑 ]

评分

1

查看全部评分

 楼主| 发表于 2007-6-9 13:48 | 显示全部楼层
我做的是从txt中读取数据,在和输入的数字比较,计算次数,findstr好象只能有1维数组吧?\
 楼主| 发表于 2007-6-9 15:23 | 显示全部楼层

程序结果总是不对啊,帮忙看下,谢谢

[a,b,c,d,e,f,g,h]=textread('test.txt','%d %d %d %d %d %d %d %d');
n=input('输入从第几位测试\n','s');
double=input('输入要计算的2位数\n','s');
single0=double(1);
switch n
    case '1'
    a1=a',a3=findstr(a1,single),m=length(a3);
    case '2'
    b1=b',b3=findstr(b1,single),m=length(b3);     
    case '3'
    c1=c',c3=findstr(c1,single),m=length(c3);
    case '4'
    d1=d',d3=findstr(d1,single),m=length(d3);
    case '5'
    e1=e',e3=findstr(e1,single),m=length(e3);
    case '6'
    f1=f',f3=findstr(f1,single),m=length(f3);
    case '7'
    g1=g',g3=findstr(g1,single),m=length(g3);
    otherwise
    fprintf('输入错误\n');
end  


我的txt文档是8位一行的数字,每个数字之间有空格;我是按列读取的,算第一位的出现次数,为什么m的值总是0?是不是哪个变量类型有问题?麻烦帮我看下,谢谢
 楼主| 发表于 2007-6-9 15:55 | 显示全部楼层
我知道是double=input('输入要计算的2位数\n','s');中的's'的问题,但是就不能得到第一个数字了啊,谁知道怎么办啊?
发表于 2007-6-9 16:00 | 显示全部楼层
原帖由 lcszxy 于 2007-6-9 15:23 发表
[a,b,c,d,e,f,g,h]=textread('test.txt','%d %d %d %d %d %d %d %d');
n=input('输入从第几位测试\n','s');
double=input('输入要计算的2位数\n','s');
single0=double(1);
switch n
    case '1'
    a1 ...


下次发贴前,请反复阅读自己写的内容,看是否表达清楚没有。实在不行的话,就用相反的角度去思考:如果别人给你这样的问题,你能否回答。要不是你自己发现了 input 那个语句的问题,谁懂得你要输入的内容是什么
发表于 2007-6-9 16:01 | 显示全部楼层
原帖由 lcszxy 于 2007-6-9 15:55 发表
我知道是double=input('输入要计算的2位数\n','s');中的's'的问题,但是就不能得到第一个数字了啊,谁知道怎么办啊?


建议多 help 一下,多看看基础书,估计你的问题还是没有表述清楚,而且自己看书更容易、更快解决
发表于 2008-1-22 20:58 | 显示全部楼层

读取汉字

怎么读取汉字阿?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-23 15:22 , Processed in 0.060166 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表