当前位置:编程学习 > C#/ASP.NET >>

求助,关于字符串写入文本

国今日12234介绍,刑诉法修正案草,比如这句

                for (int i = 1; i < line.Length; i++)
            {
               这个要加个判断条件,截取到的line[i]里面有数字标点,等非中文字符时不进行下面的语句,[^\u4e00-\u9fa5]*,这个是非中文的正则表达式,要怎么做                    
                {
                    StreamWriter my_writer = null;
                    my_writer = new StreamWriter(@"C:\Users\test\Desktop\abc2.txt", true, System.Text.Encoding.Default);
                    my_writer.Write(line[i - 1]);
                    my_writer.Write(line[i] + "\r\n");
                    my_writer.Close();
                }
            }
      求解 --------------------编程问答-------------------- 这还要正则?line[i]就是i索引处的字符,你直接判断就是了 --------------------编程问答--------------------
引用 1 楼 bdmh 的回复:
这还要正则?line[i]就是i索引处的字符,你直接判断就是了


不用正则怎么判断写入的line[i]里有非中文? --------------------编程问答-------------------- string match = @"^\u4e00-\u9fa5";
if (Regex.IsMatch(line[i], match))
            {
                return true;
            } --------------------编程问答--------------------
引用 3 楼 tanghuawei 的回复:
string match = @"^\u4e00-\u9fa5";
if (Regex.IsMatch(line[i], match))
  {
  return true;
  }


错误 1 当前上下文中不存在名称“Regex” C:\Users\test\Documents\Visual Studio 2008\Projects\ConsoleApplication1\ConsoleApplication1\Program.cs 27 21 ConsoleApplication1
是要加引用还是什么? --------------------编程问答-------------------- using System.Text.RegularExpressions; --------------------编程问答-------------------- 正则匹配字符串应该是string match = @"^[u4e00-u9fa5]"; --------------------编程问答-------------------- string pattern = @"^[\u4e00-\u9fa5]*";
 if(Regex.IsMatch(line[i],pattern ))
  {
    return true;
  }
引入using System.Text.RegularExpressions; --------------------编程问答-------------------- 不用正则表达式,等于你得自己实现一个简易的正则表达式解析功能的程序。 --------------------编程问答--------------------
引用 5 楼 tanghuawei 的回复:
using System.Text.RegularExpressions;


还是有问题,错误 1 与“System.Text.RegularExpressions.Regex.IsMatch(string, string)”最匹配的重载方法具有一些无效参数 C:\Users\test\Documents\Visual Studio 2008\Projects\ConsoleApplication1\ConsoleApplication1\Program.cs 28 21 ConsoleApplication1
错误 2 参数“1”: 无法从“char”转换为“string” C:\Users\test\Documents\Visual Studio 2008\Projects\ConsoleApplication1\ConsoleApplication1\Program.cs 28 35 ConsoleApplication1
--------------------编程问答--------------------
引用 7 楼 chinajiyong 的回复:
string pattern = @"^[\u4e00-\u9fa5]*";
 if(Regex.IsMatch(line[i],pattern ))
  {
  return true;
  }
引入using System.Text.RegularExpressions;


一样的问题,说类型无法转换 --------------------编程问答--------------------
引用 9 楼 zcw1990431 的回复:
引用 5 楼 tanghuawei 的回复:
using System.Text.RegularExpressions;


还是有问题,错误 1 与“System.Text.RegularExpressions.Regex.IsMatch(string, string)”最匹配的重载方法具有一些无效参数 C:\Users\test\Documents\Visual Studio 200……

不要循环,直接
string pattern = @"^[\u4e00-\u9fa5]*";
 if(Regex.IsMatch(line,pattern ))
  {
  return true;
  } --------------------编程问答--------------------  if (line[i].IndexOf("[^\u4e00-\u9fa5]*") == -1)也不行。。。line[i].IndexOf就行,,

line[i]就不行了 --------------------编程问答--------------------
引用 10 楼 zcw1990431 的回复:
引用 7 楼 chinajiyong 的回复:
string pattern = @"^[\u4e00-\u9fa5]*";
 if(Regex.IsMatch(line[i],pattern ))
  {
  return true;
  }
引入using System.Text.RegularExpressions;


一样的问题,说类型无法转换

line是字符串,line[i]就成了char当然不行,除非line是string[] --------------------编程问答-------------------- 你的line[i]是char类型的,你转一下呗line[i].ToString() --------------------编程问答--------------------
引用 1 楼 bdmh 的回复:
这还要正则?line[i]就是i索引处的字符,你直接判断就是了

不用正则如何做? --------------------编程问答--------------------
引用 11 楼 chinajiyong 的回复:
引用 9 楼 zcw1990431 的回复:

引用 5 楼 tanghuawei 的回复:
using System.Text.RegularExpressions;


还是有问题,错误 1 与“System.Text.RegularExpressions.Regex.IsMatch(string, string)”最匹配的重载方法具有一些无效参数 C:\Users\test\Do……


比如这句吧:国今日12234介绍,刑诉法修正案草 我的结果是
国今
今日
介绍
本来是2个字2个字写入文本,现在的要求是有数字和标点符号的都不要。 --------------------编程问答--------------------
引用 16 楼 zcw1990431 的回复:
引用 11 楼 chinajiyong 的回复:
引用 9 楼 zcw1990431 的回复:

引用 5 楼 tanghuawei 的回复:
using System.Text.RegularExpressions;


还是有问题,错误 1 与“System.Text.RegularExpressions.Regex.IsMatch(string, string)”最匹配的重载……

你现在line是什么类型,字符串数组,字符串 --------------------编程问答--------------------
引用 17 楼 chinajiyong 的回复:
引用 16 楼 zcw1990431 的回复:

引用 11 楼 chinajiyong 的回复:
引用 9 楼 zcw1990431 的回复:

引用 5 楼 tanghuawei 的回复:
using System.Text.RegularExpressions;


还是有问题,错误 1 与“System.Text.RegularExpressions.Regex.IsMa……



char 类型 加了.tostring()

if (line[i].ToString().IndexOf("[^\u4e00-\u9fa5]*") == -1)

我是这样写的,但是没用,我想判断当line[i]是非中文的时候不进行下面的循环。。。
条件要怎么写

string pattern = @"^[\u4e00-\u9fa5]*";
 if(Regex.IsMatch(line[i],pattern ))
这种也一样,还是继续了。。 --------------------编程问答--------------------  private void button1_Click(object sender, EventArgs e)
        {
            string line = "国今日12234介绍,刑诉法修正案草";
            string match = @"^[u4e00-u9fa5]";
            for (int i = 1; i < line.Length; i++)
            {

                if (Regex.IsMatch(line[i].ToString(), match)==false )
                {
                    StreamWriter my_writer = null;
                    my_writer = new StreamWriter(@"D:\abc2.txt", true, System.Text.Encoding.Default);
                    my_writer.Write(line[i - 1]);
                    my_writer.Write(line[i] + "\r\n");
                    my_writer.Close();

                }

            }

        } --------------------编程问答--------------------
引用 19 楼 dhlb 的回复:
private void button1_Click(object sender, EventArgs e)
  {
  string line = "国今日12234介绍,刑诉法修正案草";
  string match = @"^[u4e00-u9fa5]";
  for (int i = 1; i < line.Length; i++)
  {

  if (Regex.IsM……

也是不行啊 --------------------编程问答--------------------
引用 19 楼 dhlb 的回复:
private void button1_Click(object sender, EventArgs e)
  {
  string line = "国今日12234介绍,刑诉法修正案草";
  string match = @"^[u4e00-u9fa5]";
  for (int i = 1; i < line.Length; i++)
  {

  if (Regex.IsM……


只能去数字,不能去标点空格 --------------------编程问答--------------------
引用 21 楼 zcw1990431 的回复:
引用 19 楼 dhlb 的回复:
private void button1_Click(object sender, EventArgs e)
{
string line = "国今日12234介绍,刑诉法修正案草";
string match = @"^[u4e00-u9fa5]";
for (int i = 1; i < line.Length; i++)
{

if (Re……


都不知道楼主到底想要什么了,只是过滤数字吗? --------------------编程问答--------------------
引用 21 楼 zcw1990431 的回复:
引用 19 楼 dhlb 的回复:
private void button1_Click(object sender, EventArgs e)
{
string line = "国今日12234介绍,刑诉法修正案草";
string match = @"^[u4e00-u9fa5]";
for (int i = 1; i < line.Length; i++)
{

if (R……

LZ你到底想写入中文还是出中文以外的字符 --------------------编程问答--------------------
引用 22 楼 tanghuawei 的回复:
引用 21 楼 zcw1990431 的回复:
引用 19 楼 dhlb 的回复:
private void button1_Click(object sender, EventArgs e)
{
string line = "国今日12234介绍,刑诉法修正案草";
string match = @"^[u4e00-u9fa5]";
for (int i = 1; i < line.……


只写入中文,
国今日12234介绍,刑诉法修正案草
国今

今日
介绍
刑诉
诉法
这些 --------------------编程问答-------------------- 其他的都不要i
绍,像这种就过滤了
有空格也是 --------------------编程问答-------------------- 怎么看怎么觉得lz是想做那种垃圾站采集人家文章的。这种缺德的事情,研究来研究去有什么意义呢?还不如多学点技术,你浪费的机会成本太多了。 --------------------编程问答-------------------- if (Regex.IsMatch(line[i].ToString(), match) == true)
                {
                    if (Regex.IsMatch(line[i - 1].ToString(), match) == true)
就像这2个,如果都是中午才继续执行下面的 --------------------编程问答--------------------
引用 26 楼 caozhy 的回复:
怎么看怎么觉得lz是想做那种垃圾站采集人家文章的。这种缺德的事情,研究来研究去有什么意义呢?还不如多学点技术,你浪费的机会成本太多了。


在实习。。。别人要我做啊。。。。。 --------------------编程问答--------------------
引用 28 楼 zcw1990431 的回复:
引用 26 楼 caozhy 的回复:
怎么看怎么觉得lz是想做那种垃圾站采集人家文章的。这种缺德的事情,研究来研究去有什么意义呢?还不如多学点技术,你浪费的机会成本太多了。


在实习。。。别人要我做啊。。。。。

哎,这种实习浪费时间。你看你相关几个问题问了几天。问来问去你扪心自问,你收获了什么?哪怕出去到郊外拥抱下自然,都比凑这些毫无用处遭人唾弃的东西强。你再看看,哪个做大的事业是建立在这些阴暗的东西上面的。 --------------------编程问答--------------------
引用 29 楼 caozhy 的回复:
引用 28 楼 zcw1990431 的回复:
引用 26 楼 caozhy 的回复:
怎么看怎么觉得lz是想做那种垃圾站采集人家文章的。这种缺德的事情,研究来研究去有什么意义呢?还不如多学点技术,你浪费的机会成本太多了。


在实习。。。别人要我做啊。。。。。

哎,这种实习浪费时间。你看你相关几个问题问了几天。问来问去你扪心自问,你收获了什么?哪怕出去到郊外拥抱下自然,都比凑这些……


布置的一两个任务,现在一两个月都是做这些,,,, --------------------编程问答-------------------- 刚去实习一两天,都是这种小人物,说我基础差,让我练练 --------------------编程问答-------------------- 为你感到痛心。人家用你浪费的时间换做更有意义的事情,而你——接了所谓的任务浪费生命中最精彩的光景。也许有一天,你会突然猛醒。原来当初浑浑噩噩都不知道做了些什么。可是韶华不再。 --------------------编程问答--------------------
引用 32 楼 caozhy 的回复:
为你感到痛心。人家用你浪费的时间换做更有意义的事情,而你——接了所谓的任务浪费生命中最精彩的光景。也许有一天,你会突然猛醒。原来当初浑浑噩噩都不知道做了些什么。可是韶华不再。


那你的意思是一进去做项目,开发吗? --------------------编程问答-------------------- 什么小人物大人物。自己看轻自己,自己不把自己的时间当一回事,还有什么比这个更伤心的。你以为大人物都是天天做这些没有意义的事情熬出来的?如何解释为什么有些人碌碌无为一辈子,有些人年纪轻轻就成就斐然?哎,大人物就是挥霍你们这样的人的青春爬上去的。 --------------------编程问答-------------------- 做项目和开发熬经验来代替学习是很傻的。这是那些雇佣低价劳力的人易做图的论调。

如果你有自学的能力,一年时间,我想足可以让你超过那些干了十年的码农。

哪怕,放下手中的键盘,去看一本名著,你都会觉得收获颇丰。 --------------------编程问答--------------------
引用 35 楼 caozhy 的回复:
做项目和开发熬经验来代替学习是很傻的。这是那些雇佣低价劳力的人易做图的论调。

如果你有自学的能力,一年时间,我想足可以让你超过那些干了十年的码农。

哪怕,放下手中的键盘,去看一本名著,你都会觉得收获颇丰。

自己去创业吗? --------------------编程问答-------------------- 我不否认一些工作是枯燥的、艰苦的,磨练人的意志品质的。但是你应该仔细想想,你做的这件事情最终是否能达成你的目标,还是别人的目标,还是它本身充满了荒谬和无意义。再没有什么比积极地做无效的事情更无效的了。一件事情,你对它的结果没有预期,只是看着别人都这么做自己也跟着做,太可悲了。你在重复别人的生活,却丢掉了自己的梦想。如果你这个算法是你某个伟大构思的一部分,我不拦你。哪怕失败了,这都是你的财富。但是如果你感觉这个东西只是创造垃圾网站,并且老板只是骗点钱,你干吗要做他的工具呢? --------------------编程问答--------------------
引用 36 楼 zcw1990431 的回复:
引用 35 楼 caozhy 的回复:
做项目和开发熬经验来代替学习是很傻的。这是那些雇佣低价劳力的人易做图的论调。

如果你有自学的能力,一年时间,我想足可以让你超过那些干了十年的码农。

哪怕,放下手中的键盘,去看一本名著,你都会觉得收获颇丰。

自己去创业吗?


无论是创业还是打工,你都应该有理想。也许你觉得创业有些遥远,只是打工讨生活。那么你今天的努力能为明天积累什么,还是今天做了一件事情,明天还是从零开始?作为一个程序员,你有接触你的客户么?当用户对你们公司的软件称赞不已的时候,你能高兴地在心里说,那个就是我做的!有这样的快乐么?还是,做软件的时候心想,这个垃圾软件,一堆毛病,我自己都懒得再多看一眼。 --------------------编程问答--------------------
引用 37 楼 caozhy 的回复:
我不否认一些工作是枯燥的、艰苦的,磨练人的意志品质的。但是你应该仔细想想,你做的这件事情最终是否能达成你的目标,还是别人的目标,还是它本身充满了荒谬和无意义。再没有什么比积极地做无效的事情更无效的了。一件事情,你对它的结果没有预期,只是看着别人都这么做自己也跟着做,太可悲了。你在重复别人的生活,却丢掉了自己的梦想。如果你这个算法是你某个伟大构思的一部分,我不拦你。哪怕失败了,这都是你的财富。但是如……


这是这是任务啊,是带我的那个给我,刚进去练练手,并不是开发啊。而且做好的他又不要,我也想要多加点基础吧,毕竟会的很少啊 --------------------编程问答--------------------
引用 35 楼 caozhy 的回复:
做项目和开发熬经验来代替学习是很傻的。这是那些雇佣低价劳力的人易做图的论调。

如果你有自学的能力,一年时间,我想足可以让你超过那些干了十年的码农。

哪怕,放下手中的键盘,去看一本名著,你都会觉得收获颇丰。


顶一个
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,