Например, у меня есть предложение: whAT is yOUR hoUSe nUmBer? Является ли iT 26. Мне нужно преобразовать все первые первые буквы каждого слова в верхний регистр и отдохнуть в нижнем регистре. Я предполагаю использовать все lsearch, lindex lreplace и прочее и сформировать код. Может ли кто-нибудь сказать мне, как это сделать?Как преобразовать строку, в которой первая буква находится в верхнем регистре, а остальные - в нижнем регистре.
ответ
Вы можете использовать функцию Initcap для создания 1-й буквы в верхнем регистре и отдыха в нижнем регистре.
Команда string totitle
близка: она уменьшает всю строку, за исключением первого символа верхнего регистра.
set s {whAT is yOur hoUSe nUmBer ? Is iT 26.}
string totitle $s
What is your house number ? is it 26.
Капитализировать каждое слово немного сложнее:
proc CapitalizeEachWord {sentence} {
subst -nobackslashes -novariables [regsub -all {\S+} $sentence {[string totitle &]}]
}
set s {whAT is yOur hoUSe nUmBer ? Is iT 26.}
CapitalizeEachWord $s
What Is Your House Number ? Is It 26.
Команда regsub принимает каждое разделенных пробелами слово и заменяет его символьной строки "[string totitle Слово]":
"[string totitle whAT] [string totitle is] [string totitle yOur] [string totitle hoUSe] [string totitle nUmBer] [string totitle ?] [string totitle Is] [string totitle iT] [string totitle 26.]"
Мы используем команду subst
для оценки всех отдельных команд «string totitle».
В общем случае потребуется немного больше работы (чтобы отбросить любые метасимволы Tcl во входной строке), но это разумный подход. –
- 1. Первая буква в верхнем регистре
- 2. Заглавная буква Первая буква, в нижнем регистре остальные, за исключением
- 3. Regex - первая буква в верхнем регистре
- 4. Как в верхнем регистре каждая первая буква слова в строке?
- 5. Первая буква слова в поле формы в верхнем регистре?
- 6. Javascript - первая буква в верхнем регистре, остальная нижняя шкала
- 7. в верхнем регистре в нижнем регистре в bash на mac
- 8. Javascript Первая буква в верхнем регистре, которая содержит две строки "."
- 9. java final array в нижнем регистре или в верхнем регистре
- 10. По умолчанию первая буква в верхнем регистре в UIAlertController
- 11. Потерянные строки в верхнем и нижнем регистре
- 12. Преобразовать строку в переменной в нижнем регистре
- 13. преобразовать строку в верхнем регистре в vi
- 14. Приложение IOS Первая буква имени в нижнем регистре
- 15. str_replace и в верхнем регистре или в нижнем регистре
- 16. C первая буква в верхнем регистре игнорирует первое слово
- 17. php array - в верхнем регистре или в нижнем регистре
- 18. PHP gettext изменения в верхнем регистре/в нижнем регистре
- 19. Поиск количества слов в верхнем регистре или в нижнем регистре
- 20. Как разбить строку в верхнем и нижнем регистре в JavaScript?
- 21. Рельсы в верхнем или нижнем регистре
- 22. Измените первую букву в верхнем регистре, а другие в нижнем регистре, используя css
- 23. JavaScript/HTML в верхнем или нижнем регистре?
- 24. В нижнем регистре первое слово
- 25. JavaScript заменить() в верхнем или нижнем регистре
- 26. get_post_meta в нижнем регистре
- 27. как загорать слова в любом случае (в верхнем регистре, в нижнем регистре частично или полностью)?
- 28. Разрыв строки в PHP для преобразования одной части в верхнем регистре, а другой в нижнем регистре?
- 29. Строка в нижнем регистре
- 30. Как преобразовать прописные URL в нижнем регистре
Я инициализирую fooBar в интерактивном сеансе (Tcl 8.5.10) и получаю 'недопустимое имя команды« Initcap »', так что вы говорите? – kostix
Извините, но я не знаком с функцией Initcap. – user2533429