`
orange.lpai
  • 浏览: 92769 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

字符串处理心得 String Process(1)

阅读更多
字符串表示方法:
Char *
Char[]
string
String
Wchar
字符串需要实现类的方法:
默认构造函数
析构函数
拷贝构造函数
赋值函数
其他辅助函数
1.字符串与整形之间的转换:
要求不调用库函数atoi(),atio()
int str2int(const char *str)
 {   
  int i=0, sign=1, value = 0;
  if(str==NULL)  return NULL;    // 空串直接返回 NULL 
  if(str[0]=='-' || str[0]=='+') 
{   // 判断是否存在符号位  
 i = 1;   
 sign = (str[0]=='-' ? -1 : 1);
 } 
 for(; str>='0' && str<='9'; i++) // 如果是数字,则继续转换 
  value = value * 10 + (str - '0'); 
 return sign * value;}

2.字符串逆序高效算法:
char * strrev ( char * str)
{    char *start = str;    
char *left = str;    
char ch;    
while (*str++) ;
   str-= 2;   
 while (left < str)    
{        ch = *left;      
         *left++ = *str;        
         *str-- = ch;   
 }    
return(start);
}
3.字符串频度算法:
性能较好的算法BF算法,KMP算法,BM算法
BM算法基本思想:假设模式的长度为m,令模式和文本左对齐,对模式中的最右一个字符pm 和文本中对应字符tm比较,不匹配,则向后移动m个字符。
文本:  defghigabc
模式:  abc
移动后:    abc
public int get_freq(string soure,string astr)
       {
           if (astr.Trim() == "")
               return -1;
            int freq = 0;
            int soure_len = soure.Length; int astr_len = astr.Length;int ind = 0;
            while (ind < soure_len)
            {
                if (soure[ind] == astr[0])//定位第一个字符
                {
                    if (ind + astr_len <= soure_len)
                    {
                        int j = 1;
                        while (j < astr_len)
                        {
                            if (soure[ind + j] == astr[j])
                                j++;
                            else
                                break;
                        }
                        if (j >= astr_len)
                            freq++;
                    }
                }
                ind++;
            }//end while ind
            return freq;
       }//end get_freq

0
0
分享到:
评论

相关推荐

    基于Keil实现字符串函数string.h的简单应用

    基于Keil实现字符串函数string.h的简单应用基于Keil实现字符串函数string.h的简单应用基于Keil实现字符串函数string.h的简单应用基于Keil实现字符串函数string.h的简单应用基于Keil实现字符串函数string.h的简单应用...

    详解C++ string常用截取字符串方法

    本文将详细解析两种常用的C++ `std::string`截取字符串的方法:`find`和`find_last_of`,以及如何结合使用它们来满足各种字符串处理需求。 1. `find`方法: `find`方法用于在字符串中查找指定子字符串`strSub`的第...

    字符串处理类String实现

    在C++编程中,字符串处理是常见的操作,标准库提供了`std::string`类来处理字符串,但有时候为了满足特定需求或优化性能,开发者可能会选择自定义字符串类。本篇文章将详细探讨一个名为`String`的自定义实现,它采用...

    Delphi中处理字符串的相关方法

    Delphi中处理字符串的相关方法 1、字符集转换方法 (1)stringtowidechar function stringtowidechar(const source:string;dest :pwidechar;destsize :integer) :pwidechar; 将默认string类型的字符串转换为unicode...

    最新单片机仿真 字符串函数string.h应用举例

    最新单片机仿真 字符串函数string.h应用举例最新单片机仿真 字符串函数string.h应用举例最新单片机仿真 字符串函数string.h应用举例最新单片机仿真 字符串函数string.h应用举例最新单片机仿真 字符串函数string.h...

    c#中 base64字符串与普通字符串互转

    总结,C#中的Base64字符串与普通字符串互转是通过`System.Convert`类提供的`ToBase64String`和`FromBase64String`方法实现的。在进行转换时,需要确保对字符串的编码有准确的理解,以便正确地转换和还原。在实际应用...

    C#字符串删除指定字符串|字符串删除子字符串

    在C#编程语言中,处理字符串是常见的任务之一,其中包括删除字符串中的特定部分或子字符串。本篇文章将详细探讨如何在C#中实现这一功能,包括多种方法和实用技巧。 首先,C#提供了多种内置方法来操作字符串,比如`...

    java字符串处理取出括号内的字符串

    在Java编程语言中,字符串处理是一项常见的任务,特别是在解析、分析或操作文本数据时。本篇文章将深入探讨如何从字符串中提取括号内的内容,主要关注于基础的字符串操作、正则表达式以及如何利用这些工具来实现目标...

    C语言实现String字符串及其函数stringUtil

    2. **字符串函数库**:`stringUtil.c`可能包含了多个自定义的字符串处理函数,例如: - `str_init()`:初始化字符串对象,分配内存并填充初始值。 - `str_copy()`:复制一个字符串到另一个字符串,类似于`strcpy()...

    常用字符串处理整理.rar

    "常用字符串处理整理.rar"这个压缩包文件包含了一些与字符串处理相关的代码示例,如StringUtil.cs、Jscript.cs和MyControl.cs。接下来,我们将深入探讨这些文件可能涉及的字符串处理知识点。 首先,StringUtil.cs...

    C++字符串处理类库及范例

    在C++编程中,字符串处理是一项至关重要的任务,它涉及到数据的输入、输出以及操作。C++标准库提供了丰富的工具来处理字符串,但有时我们还需要更高效或特定功能的库来增强我们的代码。"C++字符串处理类库及范例...

    Java中的字符串相关处理

    不同于其他编程语言将字符串视为字符数组,Java将字符串视为`String`类型对象,这一设计使得字符串处理更加高效和安全。本文将深入探讨Java中字符串处理的相关知识点,包括`String`类型的特点、构造方法、字符串操作...

    C# 按照字节长度截取字符串

    在C#编程中,有时我们需要根据字节长度来截取字符串,这可能是因为要处理不同编码格式的数据,或者为了适应特定的传输限制。本篇将详细介绍如何在C#中按照字节长度截取字符串,并结合正则表达式进行操作。 首先,...

    JAVA字符串处理函数列表一览

    ### JAVA字符串处理函数列表一览 在Java编程语言中,字符串处理是极其常见且重要的操作之一。字符串类`String`提供了丰富的内置方法来帮助开发者高效地完成各种字符串操作任务。本文将详细解读`String`类中的一些...

    c++字符串处理汇总

    在C++编程语言中,字符串处理是至关重要的一个部分,涉及到很多函数和方法。这篇总结主要涵盖C++中处理字符串的基本知识点,包括基本概念、常用函数、操作技巧以及一些编程思想。 1. **字符串基本概念** 在C++中,...

    TIA博途-字符转换为字符串以及截取字符串有效字符的具体方法示例.docx

    在处理通信数据时,我们经常需要对字符和字符串进行操作,例如将字符转换为字符串,或者从字符串中截取有效字符。以下将详细介绍在TIA博途中如何实现这些操作。 首先,字符转换为字符串的过程通常涉及到ASCII码。...

    C#.NET字符串处理增强类

    虽然C#内置了丰富的字符串类`System.String`,提供了一系列强大的方法,如`Substring`、`Replace`、`Trim`等,但在实际项目中,我们往往需要更高效、更灵活的字符串处理手段。这个例子“C#.NET字符串处理增强类”...

    VB拆分字符串,分隔字符串

    在VB(Visual Basic)编程中,处理字符串是常见的任务之一,其中包括将一个长字符串拆分成多个子字符串。这个过程通常称为“字符串拆分”或“分隔字符...通过实践和理解这些内容,你将在VB字符串处理方面变得更加熟练。

    字符串比对String Compare.rar

    1. **字符串基础知识**:字符串是由字符组成的序列,在许多编程语言中,如C#,字符串被视为不可变对象。这意味着一旦创建,就不能改变字符串的内容。 2. **字符串相等性比对**:在编程中,有两种常见的字符串比较...

    C++课设字符串处理

    在C++编程语言中,字符串处理是至关重要的一个部分,特别是在进行数据操作、用户交互以及文件处理等场景。本课设旨在让学生熟悉C++中处理字符串的基本方法,模仿系统内置的字符串函数,以提高对C++语言的理解和应用...

Global site tag (gtag.js) - Google Analytics