2013-08-15 6 views
1

У меня есть следующее значение String, которое будет отображаться в текстовой области, и я хочу удалить из строки первые буквы @@ * n | n.Как удалить специальные символы из строки с помощью javascript

Строка выглядит следующим образом: Символ-001 @@ * п | nClaimant Имя @@ * п | nTransaction

Я использовал следующий код, чтобы иметь дело с удалением специальных символов

var paramVal1 = parent.noteText; //paramVal1 will have the string now 
var pattern = /[@@*n|n]/g; 
var paramVal1 = paramVal1.replace(pattern,''); 
document.getElementById("txtNoteArea").value = paramval1;//appending the refined string to text area 

Для приведенного выше используемого кода я получаю из положить строку, как показано ниже

Symbol-001 | Исковое имя// здесь 'n' отсутствует, и у меня есть дополнительный '|' знак | Transactio// Здесь отсутствует 'n' и дополнительный '|' характер

Просьба помочь удалить символы @@ * п | п, не затрагивая другие значения

ответ

-1

Вы с помощью регулярных выражений зарезервирован символов в шаблоне, вам нужно, чтобы избежать их Вы можете использовать это выражение:

var pattern = /[\@\@\*n\|n]/g; 
+0

'*' не имеет смысла внутри класса символов. –

1

Каких регулярное выражение говорит это «удалить любого из следующих символов: @|*n». Ясно, что это не то, что вы хотите!

Попробуйте вместо этого: /@@\*n\|n/g

Это говорит "удалить символьной строки @@*n|n". Обратные косые черты снимают особое значение с * и |.

+0

Я пробовал эти два шаблона, но все еще не смог получить ... идеально, начиная с шаблонов @@ * n | n - это начало каждой строки в строке, когда я использую два вышеуказанных шаблона, они удаляют символ «n» из строки .... – user2573586

-1

я думаю, что использование этого/[@@ * п \ | п]/г REGEX

+0

'' 'не имеет смысла внутри класса символов. –

+0

oho извините, я забыл удалить [] –

+1

'*' * * * имеет значение вне класса символов. –

0

Если вы хотите заменить первое вхождение, как вы говорите на ваш вопрос, вам не нужно использовать регулярное выражение. Простая строка будет делать, если вы бежите звездочку:

var str = "Symbol-001 @@*n|nClaimant Name @@*n|nTransaction"; 
var str2 = str.replace("@@\*n|n", ""); //output: "Symbol-001 Claimant Name @@*n|nTransaction" 

Если вы хотите заменить все вхождения, вы можете использовать регулярное выражение, вытекающее все символы, которые имеют особое значение:

var str3 = str.replace(/\@\@\*n\|n/g, ""); //output: "Symbol-001 Claimant Name Transaction" 

Посмотрите на этот редактор регулярных выражений, может пригодиться - http://gskinner.com/RegExr/

+0

Извините, что я пробовал оба, но все еще не использовать .... результат такой же .. – user2573586

+0

Итак, что-то еще может быть не так. См. Здесь работающий - http://jsfiddle.net/667ck/ –

+0

http://jsfiddle.net/667ck/1/ –