2016-12-19 2 views
0

У меня есть значения в моем запросе, который выглядит следующим образом: Decrease with an active address (2) или Unsecured task (100) т.д.резки строку в ColdFusion

Значение в скобках изменяется, это может быть один, два, три цифры или больше, потому что это - значение счета.

Мне просто нужно получить описание, а не круглые скобки или значение. Так что мне нужно, это просто:

Decrease with an active address 
Unsecured task 

т.д.

Как я могу избавиться от открытия (, числового значения и закрытия )?

В ColdFusion 8?

+1

С 'reReplace()'. Или, если нужный материал всегда в конце, комбинация 'left()' и 'find()' будет работать. –

ответ

2

Как Дэн упоминается в комментариях, один вариант заключается в использовании reReplace() с соответствующим выражением для remove any text within parenthesis:

<cfscript> 
    origText = "Decrease with an active address (2)"; 
    newText = reReplaceNoCase(origText, "\([^)]*\)", "", "all"); 
    writeDump(newText); 
</cfscript> 

Update:

Как Alex упоминалось в комментариях, если вы просто хотите «вырезать» строку и захватить часть перед скобкой, попробуйте что-то вроде этого:

<cfscript> 
    origText = "Decrease with an active address (2) plus more text after the parenthesis"; 
    newText = reReplaceNoCase(origText, "\([0-9]*\).*$", "", "all"); 
    writeOutput("<br>"& newText); 
</cfscript> 
+1

И если вы хотите удалить только скобки с номерами (как описано в вопросе), используйте '\ ([0-9] * \) $' как второй параметр в 'reReplaceNoCase'. – Alex

+0

@Alex - Это хороший момент. Я прочитал его как «удалить его», но, глядя на заголовок, ваше предложение, вероятно, ближе к знаку. – Leigh

Смежные вопросы