過濾字元串
❶ 字元串里怎麼能把數字和字母過濾出來新手!謝謝
閑的無聊,簡單寫了個給你……事實上你最好用RegEx正則表達式,那樣最快。但我手頭沒有C#環境,就用了笨方法。(其實是寫完了才想起來用正則,但之前沒用過C#的正則表達式)
PS:沒有功勞有苦勞,能不能多給點分啊?
// WARN: Use Regular Expression if you can, this is
// only an alternative solution
// NOTE: function/method names may not be correct,
// since I don't have the develop environment
// Please use corrsponding methods if needed
// Author: Leemax Lee 20090302
public int SeperateStrings(String tar, out String[] numbers, out String[] strings) {
int count = 0; // counter
String temp = ""; // temporary
bool isThisNumber = false; // condition current
bool isLastNumber = false; // condition last
if (tar == NULL || tar.Length <= 0) return 0; // return if empty
// initial, clean up
tar = tar.Trim();
try {
Integer.ParseInt32(tar[0]);
isLastNumber = true;
} catch (Exception ignored) {
isLastNumber = false;
}
// loop
for (int i = 0; i < tar.Length; i++) {
try {
Integer.ParseInt32(tar[i]);
isThisNumber = true;
} catch (Exception ignored) {
isThisNumber = false;
}
if (isThisNumber != isLastNumber) {
count++; // counter increment
if (isLastNumber) {
numbers.add(temp);
} else {
strings.add(temp);
}
temp = new String("");
}
// store current character
temp += tar[i];
isLastNumber = isThisNumber;
}
// save the last one
if (isThisNumber != isLastNumber) {
count++;
if (isLastNumber) {
numbers.add(temp);
} else {
strings.add(temp);
}
return count;
}
❷ JAVA中如何過濾字元串裡面特殊字元
class test
{
public static void main(String []args)
{
String a = "1111-22-33 13:15:46",b=new String();
int i,j,t;
for(i=0;i<a.length();i++)
if(a.charAt(i)!='-' && a.charAt(i)!=':' && a.charAt(i)!=' ')
b=b+a.charAt(i);
System.out.println(b);
}
}
❸ 怎麼樣字元串過濾
用正則吧,把<>之間的內容過濾掉,或者只取中文並且不是「宋體」
看見你給我發的信息了,我一點刷新就沒了,你重加一下吧,
復雜點的正則:
<script>
function removeTags(html){
// Remove all SPAN tags
html = html.replace(/<\/?SPAN[^>]*>/gi, "" );
// Remove all p tags
html = html.replace(/<\/?P[^>]*>/gi, "" );
// Remove all <br> tags
html = html.replace(/<\/?BR[^>]*>/gi, "" );
// Remove Class attributes
html = html.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ;
// Remove Style attributes
html = html.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi, "<$1$3") ;
// Remove Lang attributes
html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ;
// Remove XML elements and declarations
html = html.replace(/<\\?\?xml[^>]*>/gi, "") ;
// Remove Tags with XML namespace declarations: <o:p></o:p>
html = html.replace(/<\/?\w+:[^>]*>/gi, "") ;
// Replace the
html = html.replace(/ /, " " );
return html;
}
</script>
下面有個簡單寫法,但有時過濾會出現問題,但你這個應該沒沒
replace(/<\/?[^>]*>/gi, "" );
❹ JS過濾字元
可以使用字元串的match方法匹配出你想要的內容,match支持傳入一個正則表達式。
根據你的需求,只回需要答寫一個匹配數字的正則即可,比如var matches="__20__40__43__on__".match(/\d+/g);
得到的matches數組即為符合你要求的內容,不需要split拆分字元串也不需要循環處理,只需要這樣簡單的一個方法調用即可
參考match方法:http://www.w3school.com.cn/jsref/jsref_match.asp
❺ java 字元串過濾
packagetest;
importjava.util.HashMap;
/**
*maxLength-需要過濾最長字元串的長度
*filterStrs<string,string>-需要過濾字元串的集合,key為需要過濾字元串,value為過濾成的字元串如"*"
*@authorAdministrator
*
*/
publicclassTest{
privateintmaxLength;
privateHashMap<String,String>filterStrs=newHashMap<String,String>();
/**
*初始化需要過濾掉*的數量
*/
privateStringinitStr(intn){
StringBuffersb=newStringBuffer();
for(inti=0;i<n;i++){
sb.append('*');
}
returnsb.toString();
}
/**
*str-被過濾得字元串
*s-需要過濾得字元串
*獲得剩下未過濾的字元串
*/
privateStringgetNextStr(Stringstr,intstart,intslength){
if(start==0){
str=str.substring(slength);
}elseif(start+slength<str.length()){
str=str.substring(start+slength);
}
returnstr;
}
/**
*str-被過濾得字元串
*s-需要過濾得字元串
*獲得過濾後的字元串
*/
(StringBuffersb,Stringstr,intstart,Strings){
if(start!=0){
sb.append(str.substring(0,start));
}
sb.append(filterStrs.get(s));
returnsb;
}
/**
*str-被過濾的字元串
*過濾,並組合過濾後的字元串
*/
publicStringfilter(Stringstr){
StringBufferresultStr=newStringBuffer();
for(intstart=0;start<str.length();start++){
for(intend=start+1;end<=str.length()&&end<=start+maxLength;end++){
Strings=str.substring(start,end);
intslength=s.length();
if(filterStrs.containsKey(s)){
resultStr=getFilterStr(resultStr,str,start,s);
str=getNextStr(str,start,slength);
start=0;
end=start;
}
}
}
resultStr.append(str);
returnresultStr.toString();
}
publicvoidput(Stringkey){
intkeyLength=key.length();
filterStrs.put(key,initStr(keyLength));
if(keyLength>this.maxLength)
maxLength=keyLength;
}
publicstaticvoidmain(String[]agrs){
Testt=newTest();
t.put("TMD");
t.put("TNND");
t.put("NND");
System.out.println(t.filter("TMD,TNND..TMDTMDTMDTMD.tTNNDTMDTNNDTNNDTNND"));
}
}
❻ sql 查詢語句中 如何過濾 指定的字元
sqlserver:
select REPLACE(欄位名1,'湖南省','')
上面 湖南省為要替換的字元串,''為要替換的內容
❼ 字元串中如何過濾HTML標簽字元
下面是asp中的方法,你可以改造成.net的
Function FilterHTML(strToFilter)
Dim strTemp
strTemp = strToFilter
strTemp=replace(strTemp,"""","")
strTemp=replace(strTemp," ","")
strTemp=replace(strTemp," ","")
strTemp=replace(strTemp," ","")
strTemp=replace(strTemp,"&","")
Dim n,m '定義三個變數
n = inStr(strTemp,"<") '找到第一個"<"所在的位置
m = inStr(strTemp,">") '找到第一個">"所在的位置
Do while n > 0 and n < m '如果n>0則說明找到了一個"<",如果n<m則說明"<"在">"的左邊,則"<"和">"之間的字元串為HTML代碼,需要過濾掉
strTemp = Left(strTemp,n-1) & Mid(strTemp,m+1) '取"<"左邊的字元串和">"右邊的字元串並將他們連接在一起
n = inStr(strTemp,"<") '找到剩餘字元串中第一個"<"所在的位置
m = inStr(strTemp,">") '找到剩餘字元串中第一個">"所在的位置
Loop '循環
FilterHTML = strTemp
End Function
❽ 過濾字元串中的一個字元
#include<stdio.h>
#include<string.h>
int main(){
int i;char tmp[10]="abc";
for (i=0; i<strlen(tmp); i++) {
if (*(tmp+i) == 'b') {
*(tmp+i) =' ';
}
}
printf("%s",tmp);
}
只是不顯示b的話,用空格代替好了,如果需要把b去掉還需要用指針進行操作。
補充:
#include<stdio.h>
#include<string.h>
int main(){
int i;
char tmp[10]="abc";
for (i=0; i<strlen(tmp); i++) {
if (*(tmp+i) == 'b') {
*(tmp+i) =*(tmp+i+1);//將b後一個字元替換b.
}
}
*(tmp+i-1)='\0';//將最後一個字元替換為『\0』
printf("%s",tmp);
}
你的程序簡單修改一下就行。但是如果只用一個指針進行操作的話會比較復雜,以上程序只適合abc的情況。如果是abcbc的話就會變成acccc這樣。我再想想辦法。
最終方案,加一個memmove函數即可:
int main(){
int i;
char tmp[10]="abcbcbc";
for (i=0; i<strlen(tmp); i++) {
if (*(tmp+i) == 'b') {
*(tmp+i) =*(tmp+i+1);//將b後一個字元替換b
memmove(tmp+i,tmp+i+1,strlen(tmp)-i);
}
}
printf("%s",tmp);
}
memmove說明請看以下鏈接:
http://ke..com/view/1026882.html?wtp=tt
❾ JS如何去除指定字元串
可以用replace函數去除指定字元串。
1、在body標簽和html標簽中添加一個script標簽,定義一個字元專串,這里以「這是屬個什麼演示文本」為例,將此時的字元串輸出到頁面: