字符串替换为某些格式

问题描述

我可以知道如何按照以下格式对字符中的某些符号使用字符串替换吗?

下面是我想要的结果示例,我只想替换符号内的前面的数字:

Before                                                  |     After (Expected result)
100-1-1 Penggubalan/Penyediaan/Pindaan Undang-Undang        100-1/1 Penggubalan/Penyediaan/Pindaan Undang-Undang
100-1-1-16 Undang-Undang Kecil Hotel/test                   100-1/1/16 Undang-Undang Kecil Hotel/test

带符号的数字内部格式需要更改,XXX是固定数字的总格式,()是随机数字的总格式:

xxx-()-()      change to  xxx-()/()
xxx-()-()-()   change to  xxx-()/()/()

下面是我尝试的编码:

$try = "100-1-1 Penggubalan/Penyediaan/Pindaan Undang-Undang";
$try_1 = "100-1-1-16 Undang-Undang Kecil Hotel/test";
$test = str_replace('-','/',trim($try));
$test_2 = str_replace('-',trim($try_2));

echo $test;
echo $test_2;

解决方法

下面是一种非常幼稚的方法,但它可以工作。

<?php 
function replaceHyphen($str) {
    $i = -1;
    for($i=0; $i < strlen($str); $i++) {
        if($str[$i] == "-") break;
    }
    for($i++; $i < strlen($str); $i++) {
        if($str[$i] == "-") $str[$i] = '/';
        if($str[$i] == " ") break;
    }
    return $str;
}
$try = "100-1-1 Penggubalan/Penyediaan/Pindaan Undang-Undang";
$try_1 = "100-1-1-16 Undang-Undang Kecil Hotel/test";

echo(replaceHyphen($try));
echo(replaceHyphen($try_1));
?>

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...