这个问题与perl相关。
例如,如果我有字符串"hello.world"
,指定字符为'.'
,那么我想要的结果是"hello"
。
请参考perldoc -f index
:
$x = "hello.world";
$y = substr($x, 0, index($x, '.'));
使用substr
函数:
my $string = "hello.world";
my $substring = substr($string, 0, index($string, "."));
my ($substring2) = $string =~ /(.*)?\./;
.*?
进行非贪婪正则表达式以获得相同的功能。 - TLP在TIMTOWTDI的精神下,引入了新功能:使用非破坏性选项/r
my $partial = $string =~ s/\..*//sr;
.*
模式将截断第一个句点之后的所有内容,包括可能存在的换行符(/s
选项),但保留原始字符串并消除了强制列表上下文所需的括号(/r
选项)。如果使用/r(非破坏性)选项,则在字符串的副本上运行替换,并返回副本而不管是否发生替换。当使用/r时,原始字符串永远不会被更改。即使输入是对象或绑定变量,副本也始终是纯字符串。
use strict;
use warnings;
my $string = "hello.world";
my $dot = index($string, '.');
my $word = substr($string, 0, $dot);
print "$word\n";
提供给你hello
。
另一种可能性:
my $string = 'hello.world';
print ((split /\./, $string)[0], "\n");