导航:首页 > 净水问答 > c过滤控制字符串

c过滤控制字符串

发布时间:2023-06-09 08:23:05

❶ C语言实验题——字符过滤

可以执行

#include<stdio.h>
#include<string.h>
int main()
{
void qu(char *c1,char c2);
int n,i,a,b;
char str[10000],s[10000];
gets(str);
gets(s);
a=strlen(str);
b=strlen(s);
for(i=0;i<b;i++)
qu(str,s[i]);
puts(str);
return 0;
}
void qu(char *c1,char c2)
{
int i,a,b,s=0;
char c[10000];
a=strlen(c1);
for(i=0;i<a;i++)
if(c2!=c1[i])
{
c[s]=c1[i];
s++;
}
c[s]='\0';
for(i=0;i<=s;i++)
c1[i]=c[i];
}

❷ VC 过滤字符串内特殊符号的函数 比如双引号

\n ------------------------- 换行
\r ------------------------- 回车
\t ------------------------- 制表符
\b ------------------------- 退格
\f ------------------------- 换页
\0 ------------------------- 空符号
\" ------------------------- 双引号
\'''' -------------------------单引号
\\ -------------------------反斜杠

\t 横向跳到下一制表位置
\v 竖向跳格
\b 退格
\f 走纸换页
\a 鸣铃

注:
有些 ASCII 字符是不可打印的。例如退格、另起一行、警报等。C 语言提供了两种方法来表示这种不可打印字符。

第一种方法是使用 ASCII 编码。例如,ASCII 编码中,7 用于表示警报:

char beep = 7;

第二种方法是使用特殊符号序列,也就是所谓的转义字符(escape sequences)。参见下表:

转义字符 含义

\a 警报( Alert (ANSI C) )

\b 退格(Backspace)

\f 换页(Form feed)

\n 换行(Newline)

\r 回车(Carriage return)

\t 水平制表符(Horizontal tab)

\v 垂直制表符(Vertical tab)

\\ 反斜杆( Backslash (\) )

\' 单引号( Single quote (') )

\" 双引号( Double quote (") )

\? 问号( Question mark (?) )

\0oo 八进制数( Octal value (o 代表一个八进制数字) )

\xhh 十六进制数( Hexadecimal value (h 代表一个十六进制数字) )

给变量赋值的时候,转义字符必须使用单引号引住。例如:

char nl = '\n';

下面我们详细学习每个转移字符的含义。

\a(警报)是 ANSI C89 添加的,用于产生可听或者可视的警报。\a 产生的效果取决于硬件。一般来说,输出 \a 会产生鸣响。但是在某些系统,输出 \a 不会产生任何效果,或者仅仅显示一个特殊字符。标准明确指出,\a 不应该改变当前活跃位置(active position)。所谓活跃位置,是指显示设备(显示器、打字机、打印机等等)显示下一个字符的位置。以显示器为例,活跃位置就是指光标所处的位置,输出 \a 不会导致光标移动位置。

\b、\f、\n、\r、\t,以及 \v 都是输出设备控制符。退格符(\b)使当前行的活跃位置后退一个位置。换页符(\f)使活跃位置跳到下一页的开端。注:换页符可用于控制打印机换页,但不会导致 PC 机的显示屏换页。换行符(\n)使活跃位置跳到下一行的开端。回车符 ( \r ) 使活跃位置返回当前行的开端。水平制表符(\t)使活跃位置移动若干个位置(通常是8个)。垂直制表符(\v)使活跃位置换若干行。注:\v可用于控制打印机换若干行,但是不会导致PC机的显示屏换行。

\\、\',以及 \" 使我们可以把 \,' 和 " 用作字符常量。如果要打印以下句子:

"\ is called 'backslash'."

我们需要使用如下语句:

printf("\"\\ is called \'backslash\'.\"");

或者

printf("\"\\ is called 'backslash'.\"");

注意,在字符串字面量中,无论写 \' 还是 ',输出都是一样的。但是,在给字符变量赋值时,一定要写 \'。例如:

char ch = '''; /* 错误! */

char ch = '\''; /* 正确。 */

\0oo 和 \xhh 是ASCII码的两种特殊表示形式。如果想用八进制ASCII码表示字符,可以在八进制数前面加上 \ ,然后用单引号引起来。例如:

beep = '\007'; /* \007 代表 \a */

打头的那些0可以省略,也就是说,写成 '\07' 或者 '\7' 都一样。无论有没有打头的0 ,7 都会被当成八进制数处理。

从 C89 开始,C提供了用十六进制表示字符常量的方法:在反斜杆后面写一个 x ,然后再写 1 到 3 个十六进制数字。例如:

nl = '\xa'; /* \xa 代表 \n */

注意:使用ASCII码时,要注意区分数字和数字字符。例如:字符4的ASCII码是52 ,'4' 代表字符 4 ,而不是数字4。此外,尽管 '\n' 和 '\xa' ,'\a' 和 '\007' 是等价的,但是我们应该尽可能使用 '\n' 和 '\a' ,而不要用 '\xa' 和 '\007' 。这是因为前者易懂、便于记忆,而且移植性更高。而后者只对使用ASCII码的系统有效。

参考资料:C Primer 5th Edition

❸ 过滤字符串 输入一个字符串,过滤此串,只保留串中的字母字符,并统计新生成串中包含的字母个数

importjava.util.Scanner;

publicclassTest{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.println("请输入一串字符");
Stringstr=sc.nextLine();
StringstrFilter=filter(str);
System.out.println("过滤后:"+strFilter+" 字母个数:"+strFilter.length());
sc.close();
}

privatestaticStringfilter(Stringstr){
StringBuffersb=newStringBuffer("");
for(inti=0;i<str.length();i++){
charc=str.charAt(i);
if((c>=65&&c<=90)||(c>=97&&c<=122))
sb.append(c);
}
returnnewString(sb);
}
}

❹ c语言如何过滤去非16进制的字符

||#include<stdio.h>
void main()
{
char str[100];
int t,i=0;
printf("请输入一个字符串\n");
gets(str);
for(t=0;str[t]!版='\0';t++)
if(('A'<=str[t]&&str[t]<='F')||权('a'<=str[t]&&str[t]<='f')||('0'<=str[t]&&str[t]<='9'))
str[i++]=str[t];
str[i]=0;
printf("%s\n",str);
}

❺ c语言初学 如何过滤字符串中除了字母与数字中的字符 例如我输入123abcABC!@#123 输

只能说找出数字0到9和字母a到z,这个得用到字符串函数(比如char *strpbrk(char *str1, char *str2);),因为专在编程语言中,只认字属符,而你所提到的其他符号都是字符,计算机是无法区别的。

❻ C# 实现字符串的过滤重复字符(不管连续不连续),例如:输入,1212324,结果输出,1234

string str = "1212324";
Dictionary<char,bool> dict = new Dictionary<char,bool>();
foreach(char c in str)
dict[c]=true;
StringBuilder sb = new StringBuilder(dict.Count);
foreach(var kv in dict)
sb.Append(kv.Key);
return sb.ToString();

阅读全文

与c过滤控制字符串相关的资料

热点内容
北京市医院污水排放标准是什么 浏览:830
想让树脂硬度高 浏览:609
油切宝净水器怎么样 浏览:923
石油蒸馏液是什么成分 浏览:3
石家庄热水器除垢收费多少钱 浏览:463
陆风汽油滤芯多少钱 浏览:706
反渗透膜脱盐率突然下降 浏览:980
综合水处理仪dn100 浏览:262
开源回四平用隔离吗 浏览:83
宝宝用留置针有回血 浏览:206
净水器超级过滤膜丝怎么样 浏览:20
逍客油滤芯多少公里换 浏览:457
过滤桶进水口不能伸到鱼缸底部 浏览:233
金华污水处理厂地址 浏览:347
回流与蒸馏的作用 浏览:387
净水器配的龙头都是什么材质的 浏览:265
污水厂的进水质量标准 浏览:373
2019全国离子交换法净水 浏览:439
城市污水处理及中水回用流程 浏览:679
安吉尔全屋前置净水器怎么样 浏览:776