* OT: Python help @ 2010-07-20 10:47 Carsten Dominik 2010-07-20 11:03 ` Giovanni Ridolfi 0 siblings, 1 reply; 10+ messages in thread From: Carsten Dominik @ 2010-07-20 10:47 UTC (permalink / raw) To: emacs-org list Hi there, a python question: How do I prefix every line in a multiline string with a string. For example, I would like to add "> " before all lines in a string.... Thanks - Carsten ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: OT: Python help 2010-07-20 10:47 OT: Python help Carsten Dominik @ 2010-07-20 11:03 ` Giovanni Ridolfi 2010-07-20 11:13 ` Carsten Dominik 0 siblings, 1 reply; 10+ messages in thread From: Giovanni Ridolfi @ 2010-07-20 11:03 UTC (permalink / raw) To: Carsten Dominik; +Cc: emacs-org list Carsten Dominik <dominik@uva.nl> writes: > a python question: How do I prefix every line in a multiline string > with a string. For example, I would like to add "> " before all lines > in a string.... how about replacing "\n" with "\n > " ? Giovanni ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: OT: Python help 2010-07-20 11:03 ` Giovanni Ridolfi @ 2010-07-20 11:13 ` Carsten Dominik 2010-07-20 11:20 ` Puneeth 2010-07-20 11:25 ` Giovanni Ridolfi 0 siblings, 2 replies; 10+ messages in thread From: Carsten Dominik @ 2010-07-20 11:13 UTC (permalink / raw) To: Giovanni Ridolfi; +Cc: emacs-org list On Jul 20, 2010, at 1:03 PM, Giovanni Ridolfi wrote: > Carsten Dominik <dominik@uva.nl> writes: > > >> a python question: How do I prefix every line in a multiline string >> with a string. For example, I would like to add "> " before all >> lines >> in a string.... > > how about replacing "\n" with "\n > " ? Please show me the full line of code, I am currently editing a python script without any knowledge of python... :( - Carsten ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: OT: Python help 2010-07-20 11:13 ` Carsten Dominik @ 2010-07-20 11:20 ` Puneeth 2010-07-20 11:25 ` Carsten Dominik 2010-07-20 11:28 ` Puneeth 2010-07-20 11:25 ` Giovanni Ridolfi 1 sibling, 2 replies; 10+ messages in thread From: Puneeth @ 2010-07-20 11:20 UTC (permalink / raw) To: Carsten Dominik; +Cc: emacs-org list On Tue, Jul 20, 2010 at 4:43 PM, Carsten Dominik <dominik@uva.nl> wrote: > > On Jul 20, 2010, at 1:03 PM, Giovanni Ridolfi wrote: > >> Carsten Dominik <dominik@uva.nl> writes: >> >> >>> a python question: How do I prefix every line in a multiline string >>> with a string. For example, I would like to add "> " before all lines >>> in a string.... >> >> how about replacing "\n" with "\n > " ? > > Please show me the full line of code, I am currently editing a python script > without any knowledge of python... my_string = "Hello\nWorld" my_new_string = my_string.replace("\n", "\n> ") HTH, Puneeth ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: OT: Python help 2010-07-20 11:20 ` Puneeth @ 2010-07-20 11:25 ` Carsten Dominik 2010-07-20 11:28 ` Puneeth 1 sibling, 0 replies; 10+ messages in thread From: Carsten Dominik @ 2010-07-20 11:25 UTC (permalink / raw) To: Puneeth; +Cc: emacs-org list On Jul 20, 2010, at 1:20 PM, Puneeth wrote: > On Tue, Jul 20, 2010 at 4:43 PM, Carsten Dominik <dominik@uva.nl> > wrote: >> >> On Jul 20, 2010, at 1:03 PM, Giovanni Ridolfi wrote: >> >>> Carsten Dominik <dominik@uva.nl> writes: >>> >>> >>>> a python question: How do I prefix every line in a multiline >>>> string >>>> with a string. For example, I would like to add "> " before all >>>> lines >>>> in a string.... >>> >>> how about replacing "\n" with "\n > " ? >> >> Please show me the full line of code, I am currently editing a >> python script >> without any knowledge of python... > > my_string = "Hello\nWorld" > my_new_string = my_string.replace("\n", "\n> ") Thanks, that does work. - Carsten ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: OT: Python help 2010-07-20 11:20 ` Puneeth 2010-07-20 11:25 ` Carsten Dominik @ 2010-07-20 11:28 ` Puneeth 2010-07-20 13:08 ` Peter Westlake 1 sibling, 1 reply; 10+ messages in thread From: Puneeth @ 2010-07-20 11:28 UTC (permalink / raw) To: Carsten Dominik; +Cc: emacs-org list On Tue, Jul 20, 2010 at 4:50 PM, Puneeth <punchagan@gmail.com> wrote: > On Tue, Jul 20, 2010 at 4:43 PM, Carsten Dominik <dominik@uva.nl> wrote: >> Please show me the full line of code, I am currently editing a python script >> without any knowledge of python... > > my_string = "Hello\nWorld" > my_new_string = my_string.replace("\n", "\n> ") Sorry, this code (obviously) doesn't prepend ">" to the first line Add this line to do that. my_new_string = "> " + my_new_string > HTH, > Puneeth > -- Puneeth ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: OT: Python help 2010-07-20 11:28 ` Puneeth @ 2010-07-20 13:08 ` Peter Westlake 2010-07-20 13:12 ` Carsten Dominik 2010-07-20 18:03 ` Xiao-Yong Jin 0 siblings, 2 replies; 10+ messages in thread From: Peter Westlake @ 2010-07-20 13:08 UTC (permalink / raw) To: Carsten Dominik; +Cc: emacs-org list On Tue, 20 Jul 2010 16:58 +0530, "Puneeth" <punchagan@gmail.com> wrote: > On Tue, Jul 20, 2010 at 4:50 PM, Puneeth <punchagan@gmail.com> wrote: > > On Tue, Jul 20, 2010 at 4:43 PM, Carsten Dominik <dominik@uva.nl> wrote: > >> Please show me the full line of code, I am currently editing a python script > >> without any knowledge of python... > > > > my_string = "Hello\nWorld" > > my_new_string = my_string.replace("\n", "\n> ") > > Sorry, this code (obviously) doesn't prepend ">" to the first line > Add this line to do that. > > my_new_string = "> " + my_new_string Here's a Pythonic way to do it, tested: import re my_string = "Hello\nWorld" pattern = re.compile('^',re.MULTILINE) my_new_string = re.sub(pattern, '> ', my_string) This still might not be quite right, as it will turn "Hello\nWorld\n" into "> Hello\n> World\n> ". Avoid that by using a negative lookahead for the end of the string: my_string = "Hello\n\nWorld\n" pattern = re.compile('^(?!\Z)',re.MULTILINE) my_new_string = re.sub(pattern, '> ', my_string) print my_new_string gives: > Hello > > World Peter. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: OT: Python help 2010-07-20 13:08 ` Peter Westlake @ 2010-07-20 13:12 ` Carsten Dominik 2010-07-20 18:03 ` Xiao-Yong Jin 1 sibling, 0 replies; 10+ messages in thread From: Carsten Dominik @ 2010-07-20 13:12 UTC (permalink / raw) To: Peter Westlake; +Cc: emacs-org list On Jul 20, 2010, at 3:08 PM, Peter Westlake wrote: > > > On Tue, 20 Jul 2010 16:58 +0530, "Puneeth" <punchagan@gmail.com> > wrote: >> On Tue, Jul 20, 2010 at 4:50 PM, Puneeth <punchagan@gmail.com> wrote: >>> On Tue, Jul 20, 2010 at 4:43 PM, Carsten Dominik <dominik@uva.nl> >>> wrote: >>>> Please show me the full line of code, I am currently editing a >>>> python script >>>> without any knowledge of python... >>> >>> my_string = "Hello\nWorld" >>> my_new_string = my_string.replace("\n", "\n> ") >> >> Sorry, this code (obviously) doesn't prepend ">" to the first line >> Add this line to do that. >> >> my_new_string = "> " + my_new_string > > Here's a Pythonic way to do it, tested: > > import re > > my_string = "Hello\nWorld" > pattern = re.compile('^',re.MULTILINE) > my_new_string = re.sub(pattern, '> ', my_string) > > This still might not be quite right, as it will turn "Hello\nWorld\n" > into "> Hello\n> World\n> ". Avoid that by using a negative lookahead > for the end of the string: > > my_string = "Hello\n\nWorld\n" > pattern = re.compile('^(?!\Z)',re.MULTILINE) > my_new_string = re.sub(pattern, '> ', my_string) > print my_new_string > > gives: > >> Hello >> >> World > > > Peter. Great. I learned something today. Thanks! - Carsten - Carsten ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: OT: Python help 2010-07-20 13:08 ` Peter Westlake 2010-07-20 13:12 ` Carsten Dominik @ 2010-07-20 18:03 ` Xiao-Yong Jin 1 sibling, 0 replies; 10+ messages in thread From: Xiao-Yong Jin @ 2010-07-20 18:03 UTC (permalink / raw) To: Peter Westlake; +Cc: Carsten Dominik, emacs-org list On Tue, 20 Jul 2010 14:08:32 +0100, Peter Westlake wrote: > On Tue, 20 Jul 2010 16:58 +0530, "Puneeth" <punchagan@gmail.com> wrote: > Here's a Pythonic way to do it, tested: > import re > my_string = "Hello\nWorld" > pattern = re.compile('^',re.MULTILINE) > my_new_string = re.sub(pattern, '> ', my_string) > This still might not be quite right, as it will turn "Hello\nWorld\n" > into "> Hello\n> World\n> ". Avoid that by using a negative lookahead > for the end of the string: > my_string = "Hello\n\nWorld\n" > pattern = re.compile('^(?!\Z)',re.MULTILINE) > my_new_string = re.sub(pattern, '> ', my_string) > print my_new_string > gives: >> Hello >> >> World Although python does not recommend TIMTOWTDI, but I would use the following function s = lambda str: ''.join(['< ' + s for s in str.splitlines(True)]) s("Hello\n\nWorld\n") I think it is much nicer and clearer to me -- probably because I use a lot of haskell. And the following is the function s in haskell s = unlines . map ("< " ++) . lines Just my 2c. -- J c/* __o/* X <\ * (__ Y */\ < ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: OT: Python help 2010-07-20 11:13 ` Carsten Dominik 2010-07-20 11:20 ` Puneeth @ 2010-07-20 11:25 ` Giovanni Ridolfi 1 sibling, 0 replies; 10+ messages in thread From: Giovanni Ridolfi @ 2010-07-20 11:25 UTC (permalink / raw) To: Carsten Dominik; +Cc: emacs-org list Carsten Dominik <dominik@uva.nl> writes: > On Jul 20, 2010, at 1:03 PM, Giovanni Ridolfi wrote: > >> Carsten Dominik <dominik@uva.nl> writes: >> >> >>> a python question: How do I prefix every line in a multiline string >>> with a string. For example, I would like to add "> " before all >>> lines >>> in a string.... >> >> how about replacing "\n" with "\n > " ? > > Please show me the full line of code, I am currently editing a python > script without any knowledge of python... > > :( Carsten , I do not know python as well :-/ I found: 1. from python docs: http://docs.python.org/library/string.html string.replace(str, old, new[, maxreplace]) Return a copy of string str with all occurrences of substring old replaced by new. If the optional argument maxreplace is given, the first maxreplace occurrences are replaced. 2. while googling: "Python like this: python -c 'import sys; print sys.stdin.read().replace("\n", " ")' < days.txt" http://linux.dsplabs.com.au/rmnl-remove-new-line-characters-tr-awk-perl-sed-c-cpp-bash-python-xargs-ghc-ghci-haskell-sam-ssam-p65/ 3. also: http://bytes.com/topic/python/answers/721547-replace-characters-string # >>> s = "sex_m-designer_bw-size_42" # >>> s = s.replace('_', '=') # >>> s = s.replace('-', '&') # >>> s # 'sex=m&designer=bw&size=42' 4. http://stackoverflow.com/questions/930303/python-string-cleanup-manipulation-accented-characters name-of-the-string.replace(' ', '.') # replace spaces with periods hth Giovanni ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2010-07-20 18:04 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-07-20 10:47 OT: Python help Carsten Dominik 2010-07-20 11:03 ` Giovanni Ridolfi 2010-07-20 11:13 ` Carsten Dominik 2010-07-20 11:20 ` Puneeth 2010-07-20 11:25 ` Carsten Dominik 2010-07-20 11:28 ` Puneeth 2010-07-20 13:08 ` Peter Westlake 2010-07-20 13:12 ` Carsten Dominik 2010-07-20 18:03 ` Xiao-Yong Jin 2010-07-20 11:25 ` Giovanni Ridolfi
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).