This is my first time get into this forum.
I would like to know that is it a forum for us to discuss about
everythings in Ruby, please?
If so,
1)I would like to know that how can I delete or remove a line in a text
file, please?
2)How can I read some letter in a line, please?
e.g. a text file like this:-
aabbcc
ddeeff
gghhii
jjkkll
1)I want to delete ddeeff become like this:-
aabbcc
gghhii
jjkkll
This is my first time get into this forum.
I would like to know that is it a forum for us to discuss about
everythings in Ruby, please?
If so,
1)I would like to know that how can I delete or remove a line in a text
file, please?
2)How can I read some letter in a line, please?
e.g. a text file like this:-
aabbcc
ddeeff
gghhii
jjkkll
1)I want to delete ddeeff become like this:-
aabbcc
gghhii
jjkkll
This is my first time get into this forum.
I would like to know that is it a forum for us to discuss about
everythings in Ruby, please?
If so,
1)I would like to know that how can I delete or remove a line in a text
file, please?
2)How can I read some letter in a line, please?
e.g. a text file like this:-
aabbcc
ddeeff
gghhii
jjkkll
1)I want to delete ddeeff become like this:-
aabbcc
gghhii
jjkkll
Please explain the circumstances under which you want to get this result.
He said the text is "in a file"
I generally don't require newbies to create and then read a file for
demonstration purposes. I prefer my examples to run exactly as posted. This
avoids the otherwise inevitable "I tried it and it didn't work!"" replies.
What this means is the OP needs to explain the circumstances under which he
wants two "h" character in a row, clearly and unambiguously. Before, after,
and in between.
And now, on re-reading his first post, I can't tell whether he got that
result and didn't want it, or didn't get it and wanted it. Or ... got it
and wanted it, and thought he would mention it in passing.
Please explain the circumstances under which you want to get this result.
He said the text is "in a file"
I generally don't require newbies to create and then read a file for
demonstration purposes. I prefer my examples to run exactly as posted.
This
avoids the otherwise inevitable "I tried it and it didn't work!""
replies.
What this means is the OP needs to explain the circumstances under which
he
wants two "h" character in a row, clearly and unambiguously. Before,
after,
and in between.
And now, on re-reading his first post, I can't tell whether he got that
result and didn't want it, or didn't get it and wanted it. Or ... got it
and wanted it, and thought he would mention it in passing.
Hi,Paul Lutus
Thanks for your reply!
aabbcc
ddeeff
gghhii
jjkkll
2)I get the result like :-
hh
* What I would like to do is :-
1) go through each line from the begin
2) compare "hh" each letter on each line
3) found the line number of "gghhii"
4) extract "hh" of it.
And now, on re-reading his first post, I can't tell whether he got that
result and didn't want it, or didn't get it and wanted it. Or ... got it
and wanted it, and thought he would mention it in passing.
Hi,Paul Lutus
Thanks for your reply!
aabbcc
ddeeff
gghhii
jjkkll
2)I get the result like :-
hh
* What I would like to do is :-
1) go through each line from the begin
2) compare "hh" each letter on each line
3) found the line number of "gghhii"
4) extract "hh" of it.
Please provide an example. I think you don't literally mean you want 'hh'
specifically, but these are meant to stand in for the actual characters you
want. Yes? Otherwise this would work:
···
-------------------------------------------
#!/usr/bin/ruby
data = File.read("example.txt")
n = 0
data.each do |line|
test = line.sub(/..(..)../,"\\1")
print "#{n}: #{test}\n" if test =~ /hh/
n += 1
end
-------------------------------------------
Example file contains:
aabbcc
ddeeff
gghhii
jjkkll
Output:
2: hh
Conclusion? You simply must explain what you want, clearly enough that it
can be turned into code.
Thanks a lots!
Ruby script really is a great script!
By the way, may I know that is there any function like e.g. left(line,
3), right(line, 2) and mid(line, 1, 4) to extract letter from a line,
please?
e.g.
mid(gghhii,3,2) return hh
left(gghhii,3) return ggh
right(gghhii,3) return hii
-------------------------------------------------------------- String#
str[fixnum] => fixnum or nil
str[fixnum, fixnum] => new_str or nil
str[range] => new_str or nil
str[regexp] => new_str or nil
str[regexp, fixnum] => new_str or nil
str[other_str] => new_str or nil
str.slice(fixnum) => fixnum or nil
str.slice(fixnum, fixnum) => new_str or nil
str.slice(range) => new_str or nil
str.slice(regexp) => new_str or nil
str.slice(regexp, fixnum) => new_str or nil
str.slice(other_str) => new_str or nil
···
On Sat, 16 Sep 2006, Oscar Lok wrote:
By the way, may I know that is there any function like e.g. left(line,
3), right(line, 2) and mid(line, 1, 4) to extract letter from a line,
please?
e.g.
mid(gghhii,3,2) return hh
left(gghhii,3) return ggh
right(gghhii,3) return hii
------------------------------------------------------------------------
Element Reference---If passed a single +Fixnum+, returns the code
of the character at that position. If passed two +Fixnum+ objects,
returns a substring starting at the offset given by the first, and
a length given by the second. If given a range, a substring
containing characters at offsets given by the range is returned. In
all three cases, if an offset is negative, it is counted from the
end of _str_. Returns +nil+ if the initial offset falls outside the
string, the length is negative, or the beginning of the range is
greater than the end.
If a +Regexp+ is supplied, the matching portion of _str_ is
returned. If a numeric parameter follows the regular expression,
that component of the +MatchData+ is returned instead. If a
+String+ is given, that string is returned if it occurs in _str_.
In both cases, +nil+ is returned if there is no match.
Thanks a lots!
Ruby script really is a great script!
By the way, may I know that is there any function like e.g. left(line,
3), right(line, 2) and mid(line, 1, 4) to extract letter from a line,
please?
e.g.
mid(gghhii,3,2) return hh
left(gghhii,3) return ggh
right(gghhii,3) return hii
Hai,
It is neat and simple(compare to others programing)! Very easy to
understand!
Thanks!
You are welcome. I sincerely hope you will also read Hugh Sasse's post. It
offers more general guidance. IOW I gave you a fish, but he tries to teach
you how to fish.