Удалите пробелы из строки BrightScript

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

regexQuote = CreateObject("roRegex", "/^[ ]+|[ ]+$/g+", "i")
regexQuote.ReplaceAll(noSpaceString)
print noSpaceString

[РЕДАКТИРОВАТЬ]

regexQuote = CreateObject("roRegex", "/^[ ]+|[ ]+$/g", "")
print len(noSpaceString) //this value includes leading white spaces, which I dont want

Я тоже пробовал

regexQuote = CreateObject("roRegex", "/^[ ]+|[ ]+$/", "")

И попробовал

regexQuote = CreateObject("roRegex", "/(^\s*)|(\s*$)/", "")

person dan_vitch    schedule 06.03.2014    source источник
comment
Есть ли значение для g+ или i? Моя первая мысль - удалить флаг i, поскольку вы сопоставляете пробелы, а не альфы, и удалить + после g, если это не какая-то странная вещь brightscript, с которой я не знаком.   -  person tenub    schedule 07.03.2014
comment
@tenub Я обновляю вопрос   -  person dan_vitch    schedule 07.03.2014
comment
Вы попробовали: / (^ \ s *) | (\ s * $) /   -  person Tom    schedule 07.03.2014
comment
@Tom пробовал ваш рецепт, но длина все еще показывает пробелы   -  person dan_vitch    schedule 07.03.2014
comment
Вы когда-нибудь использовали регулярные выражения на этой платформе? Быстрый просмотр документов говорит мне, что вам не нужно добавлять разделители к строка регулярного выражения, как в PHP, и вам не нужен модификатор g, потому что функция ReplaceAll() делает именно то, что говорит: заменяет все совпадения.   -  person Alan Moore    schedule 07.03.2014
comment
Можете ли вы попробовать это: print len(regexQuote.ReplaceAll(noSpaceString)) Я думаю, ReplaceAll вернет новую строку и не изменит исходную   -  person Tom    schedule 07.03.2014
comment
@AlanMoore, я впервые использую регулярное выражение на этой платформе. Попробую ваши рецепты   -  person dan_vitch    schedule 07.03.2014
comment
Я обновляю свой оператор регулярного выражения и назначаю его новой переменной. Это решило проблему. Спасибо за помощь   -  person dan_vitch    schedule 07.03.2014


Ответы (3)


Используйте 1_

Используй trim(), Люк! Для этого есть строковый метод:

BrightScript Debugger> ? len("   four   ".trim())
 4
person Nas Banov    schedule 07.03.2014

Из ifString ops Roku вы можете использовать Replace как:

newString = originalString.Replace(" ", "")
person TKPhillyBurb    schedule 30.11.2018

Используя помощь из раздела комментариев, вот решение

regexQuote = CreateObject("roRegex", "^\s+|\s+$", "")
newString= regexQuote.ReplaceAll(oldString, "")
print "string length:" ; len(newString)
person dan_vitch    schedule 07.03.2014