[英]How to remove last n number of numeric characters from a string in perl
我有一種情況,我需要刪除/
字符后面的最后n
數字字符。
例如:
/iwmout/sourcelayer/iwm_service/iwm_ear_layer/pomoeron.xml@@/main/lsr_int_vnl46a/61
在最后一個/
,我需要從行中刪除數字61,以便輸出為,
/iwmout/sourcelayer/iwm_service/iwm_ear_layer/pomoeron.xml@@/main/lsr_int_vnl46a/
我嘗試使用chop,但它只刪除了最后一個字符,即。 1,在上面的例子中。
上面的最后一部分,即61,可以是任何東西,比如221或2或100。 我需要刪除/
后面的最后一個數字字符。 Perl有可能嗎?
刪除最后一位數的正則表達式替換:
my $str = '/iwmout/sourcelayer/iwm_service/iwm_ear_layer/pomoeron.xml@@/main/lsr_int_vnl46a/61';
$str =~ s/\d+$//;
\\d+
匹配一系列數字, $
匹配行尾。 它們被空字符串替換。
@Tim對$str =~ s/\\d+$//
的回答是正確的; 但是,如果要刪除字符串的最后n位數字符,但不一定要刪除所有字符數字字符,則可以執行以下操作:
my $s = "abc123456";
my $n = 3; # Just the last 3 chars.
$s =~ s/\d{$n}$//; # $s == "abc123"
// Code to remove last n number of strings from a string.
// Import common lang jar
import org.apache.commons.lang3.StringUtils;
public class Hello {
public static void main(String[] args) {
String str = "Hello World";
System.out.println(StringUtils.removeEnd(str, "ld"));
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.